Gewusst wie: Verwenden des Schlüsselworts "New"
Aktualisiert: November 2007
Verwenden Sie das New-Schlüsselwort, um eine Instanz einer Klasse zu erstellen. Objekte sind keine Werttypen, wie Integer und Double, sondern Verweistypen, die Sie explizit erstellen müssen, bevor Sie sie verwenden können. Sehen Sie sich folgende Codebeispiele an:
Dim Button1 As System.Windows.Forms.Button
Dim Button2 As New System.Windows.Forms.Button()
Die erste Anweisung deklariert eine Objektvariable, die einen Verweis auf ein Schaltflächenobjekt enthalten kann. Die Button1-Variable enthält jedoch so lange den Nothing-Wert, bis Sie ein Objekt des Button-Typs zuweisen. Die zweite Anweisung definiert ebenfalls eine Variable, die ein Schaltflächenobjekt enthalten kann. Allerdings wird mit dem New-Schlüsselwort ein Schaltflächenobjekt erstellt und gleichzeitig der Button2-Variablen zugewiesen.
Da Formulare und Steuerelemente prinzipiell Klassen entsprechen, können Sie mit dem New-Schlüsselwort bei Bedarf neue Instanzen dieses Elements erstellen.
So erstellen Sie neue Instanzen einer Klasse mit dem New-Schlüsselwort
Öffnen Sie ein neues Windows-Anwendungsprojekt, und positionieren Sie eine Befehlsschaltfläche sowie verschiedene andere Steuerelemente in einem Formular mit der Bezeichnung Form1.
Fügen Sie in die Click-Ereignisprozedur der Befehlsschaltfläche folgenden Code ein:
Dim f As New Form1 f.Show()
Führen Sie die Anwendung aus, und klicken Sie mehrmals auf die Befehlsschaltfläche.
Schieben Sie das vordere Formular zur Seite. Da ein Formular einer Klasse mit einer sichtbaren Schnittstelle entspricht, können Sie die anderen Kopien sehen. Jede Kopie besitzt dieselben Steuerelemente an denselben Positionen wie das ursprüngliche Formular in der Entwurfsphase.
Mit dem New-Schlüsselwort können Sie Objekte aus Klassen heraus erstellen. Die folgende Vorgehensweise liefert hierfür ein Beispiel.
So zeigen Sie an, wie das New-Schlüsselwort Instanzen einer Klasse erstellt
Öffnen Sie ein neues Projekt, und positionieren Sie eine Befehlsschaltfläche in das Formular mit der Bezeichnung Form1.
Klicken Sie im Menü Projekt auf Klasse hinzufügen, um dem Projekt eine Klasse hinzuzufügen.
Bezeichnen Sie die neue Klasse mit ShowMe.vb.
Fügen Sie in die Klasse ShowMe folgende Prozedur ein:
Public Class ShowMe Sub ShowFrm() Dim frmNew As Form1 frmNew = New Form1 frmNew.Show() frmNew.WindowState = FormWindowState.Minimized End Sub End Class
Fügen Sie den folgenden Code hinzu, um das Click-Ereignis von Button1 auf dem Formular zu verarbeiten:
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
Führen Sie in diesem Beispiel die Anwendung aus, und klicken Sie mehrmals auf die Befehlsschaltfläche. Für jede neu erstellte Instanz der ShowMe-Klasse wird in der Taskleiste ein minimiertes Formularsymbol angezeigt.