C# et variable en mémoire réutilisable dans plusieurs forms

Signaler
Messages postés
155
Date d'inscription
dimanche 21 octobre 2007
Statut
Membre
Dernière intervention
23 novembre 2015
-
Lutinore
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
-
Bonjour, j'aimerai savoir s'il existe une autre façon de garder une variable en mémoire sans pour autant utiliser la classe singleton.

En fait, j'ai deux form dans mon application développée en c# avec visual studio 2008 et sql server 2008

j'aimerai que quand je fasse une connexion, je puisse sauvegarder le login de l'utilisateur car je dois ensuite faire une requête sql qui m'affiche des informations le concernant dans la deuxième form.

J'ai créé une classe Agent dont la structure est :




private





string identifiant;




public
string Identifiant { get { returnthis.identifiant; }set { this.identifiant=value; } }

Pour le login, j'ai aussi la même déclaration.

Puis dans mon programme, j'instancie un nouvel objet de type Agent : classAgent csv= newclassAgent();

J'ai ensuite stocké le login de l'agent dans un texbox : this.csv.Login = txtmdpcon.Text;

J'aimerai donc pouvoir réutiliser le login que j'ai stocké dans le textbox du form1 pour l'utiliser dans une requete affichant cette information dans une autre texbox mais elle situé dans la form2.

Comment puis-je y arriver de manière très simple ?




 

2 réponses

Messages postés
81
Date d'inscription
lundi 10 avril 2006
Statut
Membre
Dernière intervention
1 janvier 2010

Bonjour, le Pattern Singleton sert à s'assurer qu'une classe n'est jamais instancié deux fois. Donc, à mon avis, peu de rapport avec le partage d'objet antre deux formulaires.

Pour que ton objet ClassAgent sois visible depuis l'autre formulaire, il faut, au minimum, l'instancier avec le modificateur 'Internal', ou 'Public'. Cette instanciation doit être faite au niveau de la classe et non pas dans une procedure. Et bien sûr, les deux formulaires doivent appartenir au même projet.

A plus.
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
29
Salut, la forme 2 ne connait pas la forme 1 et c'est normal.. tu dois donc passer une référence de la forme 1 vers la forme 2, soit via le constructeur de forme 2 soit via la methode Show de forme 2 .