Passage de paramètre et champs static [Résolu]

Signaler
Messages postés
189
Date d'inscription
vendredi 28 mai 2004
Statut
Membre
Dernière intervention
27 novembre 2015
-
Messages postés
1
Date d'inscription
jeudi 11 décembre 2008
Statut
Membre
Dernière intervention
7 octobre 2009
-
Bonjour,

Lorsque l'on désire récupérer des paramètres de sortie entre form, on nous conseille d'utiliser les évents (déclenchement d'un event sur la form appelée et récup de la valeur dans la form appelante).

Question : (cas de fom modale (showDialog)) Pourquoi ne pas utiliser un champs static dans la classe appelée qui sera initialisé juste avant la fermeture de la form appelée ? En fonctionnant comme cela, il suffit de regarder la valeur du champs static dans la form appelante juste après le .ShowDialog ?

- Je suis d'accord que cela ne peut fonctionner que pour des fenêtres modales -

DT

3 réponses

Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
32
Bonjour,

L'utilisation d'un champ static doit toujours être motivé par l'architecture du programe.
Un formulaire n'est qu'un objet comme un autre, donc ses champs public sont accessibles via son instance, qu'il soit executé par un ShowDialog ou un simple Show.
Ne Confondons pas l'execution d'un formulaire (Show ou ShowDialog) et son instance (résultat de l'operateur new) le formulaire est vivant tant que son instance n'est visible.
Donc au retour du ShowDialog les membres "public" du formulaire sont toujours accessibles, tant que son instance est visible.
L'utilisation de champ static peut être interressant si l'on veut, par exemple, que le formulaire mémorise certaines données entre ses differentes apparissions, alors qu'il est instancié plusieurs fois à differents endroits. 

C# is amazing, enjoy it!
Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
18
Dans le cas d'un showDialog, pourquoi utiliser un champ static? un champ simple suffit. Et effectivement le cas de la modale est différent. L'idéal est, en retour du showDialog, de regarder le DialogResult (a toi de le régler sur la bonne valeur avant la fermeture de la fenetre) puis de regarder les champs du formulaire dont tu as besoin. Le champ static sera moins propre, moins objet (et l'utilisation mémoire sera...pas propre, on va dire)
Messages postés
1
Date d'inscription
jeudi 11 décembre 2008
Statut
Membre
Dernière intervention
7 octobre 2009




[^^happy13][^^happy13][^^langue3]