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
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.
Fare doppio clic su Form1 per creare e visualizzare la
Form1_Load
routine evento.Aggiungere variabili di istanza private alla
Form1
classe per usare i controlli Windows comuni. LaForm1
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
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;
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);
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);
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);
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);
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
Aggiungere il codice seguente per aggiungere ogni oggetto alla
Controls
matrice del modulo alla fine diForm1_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);
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.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: nel corso del 2024 verranno dismessi i problemi di GitHub come meccanismo di feedback per il contenuto e verranno sostituiti con un nuovo sistema di feedback. Per altre informazioni, vedere:Invia e visualizza il feedback per