Procedura: utilizzare la parola chiave New
Aggiornamento: novembre 2007
Per creare un'istanza di una classe, utilizzare la parola chiave New. A differenza dei tipi valore, quali Integer e Double, gli oggetti sono tipi riferimento ed è necessario crearli in modo esplicito per poterli utilizzare. Considerare ad esempio le seguenti due righe di codice:
Dim Button1 As System.Windows.Forms.Button
Dim Button2 As New System.Windows.Forms.Button()
La prima istruzione dichiara una variabile oggetto che può contenere un riferimento a un oggetto pulsante. La variabile Button1 conterrà tuttavia il valore Nothing finché non viene assegnato un oggetto di tipo Button a tale variabile. La seconda istruzione definisce a sua volta una variabile che può contenere un oggetto pulsante, ma la parola chiave New crea un oggetto pulsante e lo assegna alla variabile Button2.
Poiché form e controlli sono in effetti classi, è possibile utilizzare la parola chiave New per creare nuove istanze di questi elementi in base alle necessità.
Per creare nuove istanze di una classe mediante New
Aprire un nuovo progetto di applicazione per Windows e inserire un pulsante di comando e altri controlli in un form denominato Form1.
Aggiungere il seguente codice alla routine dell'evento Click del pulsante di comando:
Dim f As New Form1 f.Show()
Eseguire l'applicazione e fare clic sul pulsante di comando più volte.
Spostare di lato il primo form. Dal momento che un form è una classe con un'interfaccia visibile, è possibile vederne le altre copie. Ogni copia presenta gli stessi controlli, nella stessa posizione di quelli inseriti nel form originale in fase di progettazione.
È possibile utilizzare la parola chiave New per creare oggetti dall'interno delle classi. La procedura che segue ne offre un esempio.
Per verificare la modalità di creazione di istanze di una classe mediante New
Aprire un nuovo progetto e inserire un pulsante di comando in un form denominato Form1.
Scegliere Aggiungi classe dal menu Progetto per aggiungere una classe al progetto.
Denominare la nuova classe ShowMe.vb.
Aggiungere la seguente routine a ShowMe:
Public Class ShowMe Sub ShowFrm() Dim frmNew As Form1 frmNew = New Form1 frmNew.Show() frmNew.WindowState = FormWindowState.Minimized End Sub End Class
Aggiungere il seguente codice per gestire l'evento Click di Button1 nel form:
Protected Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim clsNew As New ShowMe clsNew.ShowFrm() End Sub
Per avvalersi dell'esempio, eseguire l'applicazione e fare clic sul pulsante di comando più volte. Sulla barra delle applicazioni verrà visualizzata una nuova icona del form via via che viene creata ogni nuova istanza della classe ShowMe.