Dans vb.net, vous pouvez adresser une variable publique à partir d'un autre formulaire en utilisant le nom du formulaire avec la variable.Utiliser un nom d'instance ou de formulaire lors de l'adressage de variables publiques entre des formulaires?
form2.show
form2.k = 3
Cependant, si vous utilisez une variable de formulaire pour indiquer une instance du formulaire, vous devez utiliser ce nom de variable pour traiter la variable publique. Deux instances du même formulaire sont affichées dans l'exemple suivant. La variable publique k est affectée d'une valeur de 3 seulement dans la première instance du formulaire, celle de form2.show
. frm.k
peut être utilisé pour affecter une valeur à l'autre formulaire.
dim frm as new form2
form2.show
frm.show
form2.k = 3
Ma question: En supposant qu'une seule instance du formulaire est affiché dans l'application, est-il fiable pour répondre à une variable publique en utilisant le nom du formulaire (form2.k
), ou est-il préférable de montrer la forme avec une forme variable et l'utiliser pour se référer à l'instance du formulaire (frm.k
)? La même réponse s'appliquerait-elle à une propriété et à une variable publique?
Cette autre syntaxe est assez pratique, et semble être la méthode la plus populaire en vb pour afficher un formulaire. Pourquoi un développeur vb doit-il ajouter une variable de formulaire lorsque cela n'est pas nécessaire? Je n'essaie pas de discuter - je cherche juste votre raisonnement. – xpda
Une variable de formulaire est requise par le framework et VB est juste en train de créer un nom identique à votre classe de formulaire derrière les scènes pour vous. Tout ce que vous faites est de rendre cette action explicite dans le code. Il est le plus populaire parce qu'il a été autour de la communauté VB pendant plus de 10 ans! Difficile de changer de vieilles habitudes. Si rien d'autre, je voudrais utiliser la version explicite pour l'uniformité et la lisibilité. Où d'autre pouvez-vous vous en tirer en utilisant un nom de classe comme une variable d'instance dans .net – DancesWithBamboo
Je voudrais aussi argumenter que form2.show() et form2.k semblent déranger similaires aux méthodes statiques, ce qui bien sûr ne le sont pas. – DancesWithBamboo