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

djbabou Messages postés 155 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 23 novembre 2015 - 29 mai 2009 à 16:43
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 - 30 mai 2009 à 00:49
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

DavidWhitewater Messages postés 81 Date d'inscription lundi 10 avril 2006 Statut Membre Dernière intervention 1 janvier 2010
29 mai 2009 à 18:33
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.
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
30 mai 2009 à 00:49
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 .
0
Rejoignez-nous