Instancier une Form avec new ou pas ? [Résolu]

BasicZx81 140 Messages postés samedi 5 mars 2011Date d'inscription 13 août 2013 Dernière intervention - 20 févr. 2012 à 21:38 - Dernière réponse : BasicZx81 140 Messages postés samedi 5 mars 2011Date d'inscription 13 août 2013 Dernière intervention
- 21 févr. 2012 à 17:21
Bonsoir,
je me pose une question toute bête, doit'on instancier une Form ou pas ? du style : Dim MaForm as New Form2
Une Form est basé sur une classe, et apriori elle est directement utilisable comme n'importe quel objet instancié explicitement sauf qu'elle ne l'est pas. Mais je me demande si il y a des cas ou l'instanciation peut apporter quelques chose (a part le fait que l'on peut obtenir plusieurs instances d'une même Form et donc ouvrir plusieurs Form basé sur la même classe.

Je me suis amusé à faire quelques essais pour savoir comment se comporte une Form non instancié :
(J'ai Nommé Form1 la Feuille principale et Form2 la feuille pour faire des tests).
On peut par exemple exécuter une procédure de la Form2 du style MaForm2.MaProcedure depuis Form1.
Dans cette procédure on peut même modifier les variables privé déclarées dans Form2.
Et tout ceci sans avoir eu besoin à un moment ou a un autre de charger la feuille (l’évènement Load de Form2 n'ayant pas eu lieu)

Vous avez une expérience à ce sujet qui démontre l’intérêt de la chose ?
Ces une question qui à de l'importance pour un projet dans lequel je me sert d'une procédure du style comme ci-dessus pour transmettre certains paramètres à ma feuille Form2 depuis ma feuille Form1 et j'espère que ma méthode n'est pas trop bancale...

Merci d'avance pour vos retours d'experiences.
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
NHenry 14280 Messages postés vendredi 14 mars 2003Date d'inscription 22 octobre 2018 Dernière intervention - 20 févr. 2012 à 22:18
3
Merci
Bonjour,

En clair, qualle est la différence entre :
Dim MaVar As New Type
et
Dim MaVar As Type=New Type

La différence est simple, dans le premier cas, la variable n'est jamais à Nothing alors que dans le second, c'est tout à fait possible.

MaVar=Nothing
MessageBox.Show((MaVar Is Nothing).ToString())

Dans le premier cas, Ce sera toujours faux alors que dans le second, ce sera vrai.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site

Merci NHenry 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de NHenry
BasicZx81 140 Messages postés samedi 5 mars 2011Date d'inscription 13 août 2013 Dernière intervention - 21 févr. 2012 à 17:21
0
Merci
Merci Nhenry,
Je ne connaissais pas cette nuance.
Donc à priori si j'ai tout compris, nul besoin d'instancier une feuille puisque tous les contrôles et les procédures public quelles contient sont de toutes facons accessible de l'exterieur se qui prouve que la feuille est déja instancié explicitement (c'etait ma question).

je marque réponse acceptée mais si d'autres personnes veulent intervenir, qu'ils n'hesitent pas surtout si je dit des bétises.....
Commenter la réponse de BasicZx81

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.