Passage de paramètre et champs static

Résolu
babe59 Messages postés 189 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 27 novembre 2015 - 10 avril 2009 à 11:34
wajihov Messages postés 1 Date d'inscription jeudi 11 décembre 2008 Statut Membre Dernière intervention 7 octobre 2009 - 7 oct. 2009 à 16:30
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

cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
12 avril 2009 à 18:31
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!
3
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
10 avril 2009 à 14:22
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)
0
wajihov Messages postés 1 Date d'inscription jeudi 11 décembre 2008 Statut Membre Dernière intervention 7 octobre 2009
7 oct. 2009 à 16:30



[^^happy13][^^happy13][^^langue3]
0
Rejoignez-nous