Comment : utiliser le mot clé New
Mise à jour : novembre 2007
Pour créer une instance d'une classe, utilisez le mot clé New. À la différence de Integer et Double qui sont des types valeur, les objets sont des types référence, et vous devez donc les créer explicitement avant de pouvoir les utiliser. Considérons par exemple les deux lignes de code suivantes :
Dim Button1 As System.Windows.Forms.Button
Dim Button2 As New System.Windows.Forms.Button()
La première instruction déclare une variable d'objet qui peut contenir une référence à un objet Button. Toutefois, la variable Button1 contient la valeur Nothing jusqu'à ce que vous lui assigniez un objet de type Button. La seconde instruction définit également une variable pouvant contenir un objet Button, mais le mot clé New crée un objet Button et l'assigne à la variable Button2.
Les formulaires et les contrôles étant en réalité des classes, vous pouvez utiliser le mot clé New pour créer de nouvelles instances de ces éléments en fonction de vos besoins.
Pour créer de nouvelles instances d'une classe à l'aide du mot clé New
Ouvrez un nouveau projet Application Windows, puis placez un bouton de commande et plusieurs autres contrôles dans un formulaire appelé Form1.
Ajoutez le code suivant à la procédure événementielle Click du bouton de commande :
Dim f As New Form1 f.Show()
Exécutez l'application et cliquez plusieurs fois sur le bouton de commande.
Mettez de côté le formulaire de premier plan. Étant donné qu'un formulaire est une classe dotée d'une interface visible, vous pouvez voir les autres copies. Chacune de ces copies contient les mêmes contrôles et aux mêmes positions que ceux du formulaire d'origine au moment du design.
Vous pouvez utiliser le mot clé New pour créer des objets à partir des classes. La procédure suivante vous montre comment.
Pour voir comment le mot clé New crée des instances d'une classe
Ouvrez un nouveau projet Windows Forms, puis placez un bouton de commande dans un formulaire appelé Form1.
Dans le menu Projet, sélectionnez Ajouter une classe pour ajouter une classe au projet.
Donnez à la classe le nom ShowMe.vb.
Ajoutez la procédure suivante à ShowMe:
Public Class ShowMe Sub ShowFrm() Dim frmNew As Form1 frmNew = New Form1 frmNew.Show() frmNew.WindowState = FormWindowState.Minimized End Sub End Class
Ajoutez le code suivant pour gérer l'événement Click de Button1 sur votre formulaire :
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
Pour utiliser l'exemple, exécutez l'application et cliquez plusieurs fois sur le bouton de commande. Une icône de formulaire réduite apparaît dans votre barre des tâches chaque fois qu'est créée une nouvelle instance de la classe ShowMe.