Skip to main content

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

XtraUserControl

  • 2 minutes to read

The XtraUserControl class replaces the standard System.Windows.Forms.UserControl component. It provides the capability to create a stand-alone module populated with controls and components which can be reused throughout your application.

//Create an XtraUserControl that represents a login form
public class LoginUserControl : XtraUserControl {
    public LoginUserControl() {
    LayoutControl lc = new LayoutControl();
    lc.Dock = DockStyle.Fill;
    TextEdit teLogin = new TextEdit();
    TextEdit tePassword = new TextEdit();
    CheckEdit ceKeep = new CheckEdit() { Text = "Keep me signed in" };
    lc.AddItem(String.Empty, teLogin).TextVisible = false;
    lc.AddItem(String.Empty, tePassword).TextVisible = false;
    lc.AddItem(String.Empty, ceKeep);
    this.Controls.Add(lc);
    this.Dock = DockStyle.Fill;
    }
}

//Show an XtraUserControl-based login form inside a dialog
private void simpleButton1_Click(object sender, EventArgs e) {
    LoginUserControl myControl = new LoginUserControl();
    DevExpress.XtraEditors.XtraDialog.Show(myControl, "Sign in", MessageBoxButtons.OKCancel);
}

To add XtraUserControls at design-time, right-click your project and select the “Add DevExpress Item” option. This invokes the Template Gallery that allows you to add blank XtraUserControls and DevExpress forms, as well as template-based forms.

When compared to a standard WinForms UserControl, the XtraUserControl provides the following advantages:

  • End-users can scroll the XtraUserControl content when hovering it, without needing to focus it first;
  • Communicates with the Layout and Data Layout Controls component to pass the correct control sizes;
  • Allows you to utilize smart tags and Designer dialogs for controls inside an XtraUserControl (or its descendant) directly from a form that hosts this container (visual inheritance);
  • Supports DevExpress skins and ensures look-and-feel consistency across the application.