Usare Visual C# per aggiungere controlli a livello di codice a Windows Form in fase di esecuzione

Questo articolo consente di aggiungere e configurare controlli in un Windows Form a livello di codice usando Visual C#.

Versione originale del prodotto: Oggetto visivo C#
Numero KB originale: 319266

Riepilogo

Questo articolo dettagliato illustra come aggiungere e configurare a livello di codice alcuni controlli di uso comune in un Windows Form. La gestione degli eventi è stata omessa dal codice di esempio.

Microsoft .NET Framework Software Development Kit (SDK) fornisce molti controlli visivi che è possibile usare per compilare un'applicazione Windows Forms. È possibile aggiungere e configurare controlli in fase di progettazione in Visual Studio .NET o in Visual Studio. È possibile aggiungere e configurare controlli a livello di codice in fase di esecuzione.

Requisiti

Questo articolo presuppone che si abbia familiarità con gli argomenti seguenti:

  • Sintassi di Visual C#
  • L'ambiente .NET di Visual Studio, l'ambiente di Visual Studio
  • Scopo dei controlli Visual C# comuni

Creare un'applicazione Windows Forms

  1. Avviare Visual Studio .NET o Visual Studio e creare un nuovo progetto applicazione Windows Visual C# denominato WinControls. Form1 viene aggiunto al progetto per impostazione predefinita.

  2. Fare doppio clic su Form1 per creare e visualizzare la Form1_Load routine evento.

  3. Aggiungere variabili di istanza private alla Form1 classe per usare i controlli Windows comuni. La Form1 classe inizia come segue:

    public class Form1 : System.Windows.Forms.Form
    {
         //Controls.
         private TextBox txtBox = new TextBox();
         private Button btnAdd = new Button();
         private ListBox lstBox = new ListBox();
         private CheckBox chkBox = new CheckBox();
         private Label lblCount = new Label();
        //Other code.
    }
    

    Nota

    Il codice deve essere modificato in Visual Studio. Quando si crea un progetto Windows Forms, Visual C# aggiunge una maschera al progetto per impostazione predefinita. Questo modulo è denominato Form1. I due file che rappresentano il modulo sono denominati Form1.cs e Form1.designer.cs. Si scrive il codice in Form1.cs. Il file Designer.cs è il percorso in cui il Windows Forms Designer scrive il codice che implementa tutte le azioni eseguite aggiungendo controlli. Per altre informazioni sulla Windows Forms Designer in Visual C#, vedere Creazione di un progetto (Visual C#).

Personalizzare le proprietà di moduli e controlli

  1. Individuare la Form1_Load routine evento e aggiungere il codice seguente alla routine per personalizzare l'aspetto del controllo Form:

     //Set up the form.
     this.MaximizeBox = false;
     this.MinimizeBox = false;
     this.BackColor = Color.White;
     this.ForeColor = Color.Black;
     this.Size = new System.Drawing.Size(155, 265);
     this.Text = "Run-time Controls";
     this.FormBorderStyle = FormBorderStyle.FixedDialog;
     this.StartPosition = FormStartPosition.CenterScreen;
    
  2. Aggiungere il codice seguente alla Form1_Load routine evento per personalizzare l'aspetto del controllo Button:

     //Format controls. Note: Controls inherit color from parent form.
     this.btnAdd.BackColor = Color.Gray;
     this.btnAdd.Text = "Add";
     this.btnAdd.Location = new System.Drawing.Point(90, 25);
     this.btnAdd.Size = new System.Drawing.Size(50, 25);
    
  3. Aggiungere il codice seguente per personalizzare l'aspetto del controllo TextBox in Form1_Load:

     this.txtBox.Text = "Text";
     this.txtBox.Location = new System.Drawing.Point(10, 25);
     this.txtBox.Size = new System.Drawing.Size(70, 20);
    
  4. Aggiungere il codice seguente per personalizzare l'aspetto del controllo ListBox in Form1_Load:

     this.lstBox.Items.Add("One");
     this.lstBox.Items.Add("Two");
     this.lstBox.Items.Add("Three");
     this.lstBox.Items.Add("Four");
     this.lstBox.Sorted = true;
     this.lstBox.Location = new System.Drawing.Point(10, 55);
     this.lstBox.Size = new System.Drawing.Size(130, 95);
    
  5. Aggiungere il codice seguente per personalizzare l'aspetto del controllo CheckBox in Form1_Load:

     this.chkBox.Text = "Disable";
     this.chkBox.Location = new System.Drawing.Point(15, 190);
     this.chkBox.Size = new System.Drawing.Size(110, 30);
    
  6. Aggiungere il codice seguente per personalizzare l'aspetto del controllo Label in Form1_Load:

     this.lblCount.Text = lstBox.Items.Count.ToString() + " items";
     this.lblCount.Location = new System.Drawing.Point(55, 160);
     this.lblCount.Size = new System.Drawing.Size(65, 15);
    

Aggiungere controlli al modulo

  1. Aggiungere il codice seguente per aggiungere ogni oggetto alla Controls matrice del modulo alla fine di Form1_Load:

     //Add controls to the form.
     this.Controls.Add(btnAdd);
     this.Controls.Add(txtBox);
     this.Controls.Add(lstBox);
     this.Controls.Add(chkBox);
     this.Controls.Add(lblCount);
    
  2. Salvare il progetto.

Verificare che funzioni

Per verificare che l'esempio funzioni, selezionare Avvia dal menu Debug .

Nota

  • Anche se il form e i controlli vengono visualizzati, attualmente non eseguono alcuna operazione perché non sono stati scritti gestori eventi.
  • Tenere presente che le posizioni di questi controlli sono statiche. Per renderli più solidi quando la forma viene allungata, rendere dinamici i punti rispetto alla posizione del modulo. Se i controlli sono statici, l'estensione del form può interferire con la visualizzazione di altri controlli nel form.

Riferimenti

Per altre informazioni sull'uso dei controlli a livello di codice, vedere l'argomento Applicazioni Windows nella sezione Visual C# della documentazione della Guida di Visual Studio .NET Online o nella documentazione della Guida di Visual Studio Online.