Passer une variable d'une Forme à une autre

Signaler
Messages postés
41
Date d'inscription
jeudi 5 janvier 2006
Statut
Membre
Dernière intervention
11 juin 2010
-
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
-
Bonjour,

J'ai laissé un message hier concernant un besoin pour déclencher un enregistrement lors de l'appui sur la touche Espace.

J'ai finalement changé mon fusil d'épaule, et j'aimerais simplement savoir comment faire pour faire passer une variable NON STATIQUE d'une Forme à une autre.

En effet, pour faire passer une variable d'une Forme à une autre, il est coutume de déclarer la variable comme ceci:

public static bool valid = new bool();  // Dans une forme

Et de l'appeler dans l'autre Forme en écrivant :

NomFormeInitiale.valid 

Cependant, je remarque que si la variable évolue dans la Forme initiale, la Forme qui appelle la variable ignore ce changement et conserve la valeur donnée initialement.

J'ai essayé de retirer le "static" dans la déclaration, mais à ce moment-là, la variable n'est plus reconnue dans l'autre Forme.

Je voudrais donc savoir s'il est possible d'avoir une variable globale NON STATIQUE afin de faire passer la valeur de ma variable à tout instant et pas seulement la valeur initiale.

Si vous avez des suggestions, je vosu remercie d'avance

5 réponses

Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
57
Imagines que tu as deux forms, disons Form1 et Form2.
Tu te trouves actuellement dans Form1, et cette forme possède entre autre un object, disons x qui s'appelle x.

Si tu fais Form2 f2 = new Form2(x); et qu'en ensuit tu fais f2.Show(); tu vas ouvrir une nouvelle form, et cette form va recevoir dans son constructeur la valeur x... X pouvant être une classe qui contient n'importe quoi comme informations que tu veux transvaser d'une form à l'autre.

<hr />
-Blog-
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
57
Salut,
Regardes cette source, elle fait ce que tu veux...

<hr />
-Blog-
Messages postés
41
Date d'inscription
jeudi 5 janvier 2006
Statut
Membre
Dernière intervention
11 juin 2010

Merci bcp Bidou pr ta réponse rapide!

J'avoue que je suis vraiment chiant mais je débute en CSharp (ça ne fait qu'une semaine que je pratique) et du coup, j'ai du mal à dégager ce que je dois remarquer dans cette source exactement pour mon prblème.

Si personne ne veut me répondre, je comprendrais car je sais que j'ai un niveau très faible et que vous n'avez surement pas envie de perdre de temps avec des banalités pareilles (pour vous je parle lol, car pour moi c'est compliqué lol).

J'ai une Forme qui s'appelle Affichage_Image dans laquelle je veux récupérer des variables qui changent d'état,  et une autre Forme appelée Form1 dans laquelle je veux importe mes variables pour les utiliser dans des conditions if afin de déclencher des événements....

Et du coup, je n'arrive pas à dégager l'essentiel de cette source...quelqu'un a une idée ou une indication svp?
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
57
L'idée, c'est de passer un objet à ta forme, qui va contenir les valeurs dont tu as besoin....
Par exemple, quand tu construis ta form avec un new, tu lui passes en argument du constructeur ton object. Ca va te permettre d'avoir une référence de cet objet dans ta forme, et de pouvoir appeler des méthodes, property, etc de cet objet.

C'est ce que fait la source que je t'ai indiquée juste plus haut.

<hr />
-Blog-
Messages postés
41
Date d'inscription
jeudi 5 janvier 2006
Statut
Membre
Dernière intervention
11 juin 2010

Bon, j'arrête de vous embêter et de vous déranger car je comprend pas trop ta source Bidou, même avec tes explications.

Moi j'ai juste une variable Var dans ma Forme Affichage_Image et j'aimerais pouvoir utiliser cette variable dans ma Forme principale Form1. Cette variable prend juste une valeur 1 ou 0 et j'aurais simplement aimé importer dans Form1 l'état de Var dans Affichage_Image.

En utilisant public static, je ne peux pas prendre en comtpe les changements d'états et je cherchais donc une alternative.

Mais je vois pas comment faire le lien avec ta source, je suis désolé , suis trop nul.

Merci quand même.

En tout cas, si qqun a une idée plus simple, je suis tjs preneur bien entendu.