Accueil > Forum > > > > passer valeur de la form 1 à la form 2 puis à la form 3
passer valeur de la form 1 à la form 2 puis à la form 3
lundi 17 mars 2008 à 17:38:34 |
passer valeur de la form 1 à la form 2 puis à la form 3

ericdu93
|
Bonjour, je débute en orienté objet. Donc voilà, mon application est composé de trois form dans lequel l'utilisateur finale va remplir chacune de ces forms. Dans ma form1, j'instancie la form2 en passant l'instance de la form1 pour récupérer un attribut de la form1 dans ma form2. Ci-dessous le code pour montrer ca: Form1 f1: _f2 = new formChoixTable(this); _f2.Show();
Question 1: dans ma form 2, je vais juste récupérer 1 seulattribut de ma form1, donc est-ce qu'il vaut mieux que j'utilise une classe statique ? Dans ce cas là, dans ma form1, je stocke la valeur dans cette class statique que je récupére dans form2 ce qui amène à stocker les valeurs de form2 également dans cette classes statiques pour les utiliser dans form3 J'ai lu la documentation msdn sur les classes statiques (http://msdn2.microsoft.com/en-us/library/79b3xss3(VS.80).aspx) et il est dit: je cite:
Use a static class to contain methods that are not associated with a particular object. For example, it is a common requirement to create a set of methods that do not act on instance data and are not associated to a specific object in your code. You could use a static class to hold those methods. Question 2: je ne comprends pas, pour moi une méthode est toujours associé à un objet alors dans quel cas on considère qu'une méthode ne l'ait pas ? Je dois avouer que même en regardant les exemples de la page, je ne vois pas la différence.
Merci d'avance.
|
|
mardi 18 mars 2008 à 12:21:10 |
Re : passer valeur de la form 1 à la form 2 puis à la form 3

taupe4
|
Réponse acceptée !
Ce qui est mentionné sur MSDN, c'est que les classes statiques sont utilisés pour des variables ayant une portée globale et qu'elle n'affectent pas l'état d'un objet. Par exemple, une méthode qui créerait un tableau de données à partir d'un fichier. Cette méthode n'a pas besoin d'être dans un objet instancié, car elle ne dépend pas de l'objet. Par contre, le contenu d'un champ de texte, lui, est directement relié à l'objet, car il change selon l'état dudit objet. Si on aurait le contenu d'un champ de texte en statique, tous les champs de texte créé auraient le même texte.
En gros, static = 1 seule valeur dans tous les cas
variable d'instance = autant de valeurs que d'objets créés.
Mais je ne vois pas pourquoi l'autre méthode ne te convenait pas. Si tu veux, tu peux uniquement envoyer ledit paramètre dans ton constructeur de Form2. Par exemple:
public Form2(string nom)
{
}
Form2 form2 = new Form2(this.textBox1.Text);
|
|
mardi 18 mars 2008 à 15:08:52 |
Re : passer valeur de la form 1 à la form 2 puis à la form 3

ericdu93
|
Merci pour l'explication sur les classes/méthodes static. En gros, on utilises les méthodes static non pas pour stocker des valeurs mais juste créer des objets ou agir sur les objets comme formater une chaine de caractères.
En ce qui concerne le passage par paramètre. Le souci c'est que j'ai trois form.
dans ma form1, j'instancie form2 en passant l'instant de form1: donc j'accède aux attributs de form1 dans form 2. _f2 = new formChoixTable(this); _f2.Show();. ensuite pour aller dans form3, form2 crée une instance de form3 en passant une instance de form2. _f3 = new formChoixImport(this); _f3.Show();
Au final, dans ma form3, j'accède que aux attributs de form2, pas de form1. Je vous montre comment j'accède à form2 dans ma form3.
formChoixTable = form 2 formChoixImport = form 3
public partial class formChoixImport : Form { private formChoixTable _f2;
public formChoixImport() { InitializeComponent(); } public formChoixImport(formChoixTable f2) : this() { _f2 = f2; } private void test_Click(object sender, EventArgs e) { _f2 = new formChoixTable(); _f2.maMethode() //Ici j'ai accès que aux méthodes de form2 } }
Donc quel solution me proposez vous pour résoudre mon souci. (C'est la raison pour laquelle j'ai évoqué les classes static comme un moyen de stockage temporaire)
Merci
|
|
mardi 18 mars 2008 à 21:06:46 |
Re : passer valeur de la form 1 à la form 2 puis à la form 3

taupe4
|
Réponse acceptée !
Dans la Form3, tu envoies un paramètre de type Form1 et un autre de type Form2.
|
|
mardi 18 mars 2008 à 23:33:23 |
Re : passer valeur de la form 1 à la form 2 puis à la form 3

ericdu93
|
@taupe4, désolé, je ne comprends pas. Pourrai-tu fournir un exemple ? Merci.
|
|
mardi 18 mars 2008 à 23:39:04 |
Re : passer valeur de la form 1 à la form 2 puis à la form 3

taupe4
|
Réponse acceptée !
public Form3(Form1 etape1, Form2 etape2)
{
}
Dans form2 tu renvoies à Form3 la form1 que tu avais précédemment obtenue, en plus de this.
|
|
mardi 18 mars 2008 à 23:44:48 |
Re : passer valeur de la form 1 à la form 2 puis à la form 3

ericdu93
|
ok ca fonctionne, merci taupe4.
|
|
mercredi 19 mars 2008 à 00:26:17 |
Re : passer valeur de la form 1 à la form 2 puis à la form 3
|
mardi 15 avril 2008 à 12:11:32 |
Re : passer valeur de la form 1 à la form 2 puis à la form 3

selemfss
|
Bonjours, dans ce même cadre j'ai un petit probleme. Il est comme suit: j'ai une form1 depuis la quelle je lance une autre form2 et puis le probleme se pose au niveau de la passation de la valeur de la forme 2 à la forme 1 que je n'ai aps fermé
|
|
jeudi 17 avril 2008 à 00:39:13 |
Re : passer valeur de la form 1 à la form 2 puis à la form 3

taupe4
|
Si tu suis la méthode qui est de passer une instance de Form1 à form2, tu as alors accès à toutes les méthodes publiques de Form1, tu peux donc les appeler.
Tu peux aussi créer des événements que tu lances lorsque de l'attention doit être apportée par les écouteurs.
Je te conseille de regarder la source citée plus haut, soit http://www.csharpfr.com/codes/PASSAGE-PARAMETRES_26735.aspx, elle contient (à mon souvenir) un exemple avec des événements.
|
|
Cette discussion est classée dans : form, valeur, form2, to, form1
Répondre à ce message
Sujets en rapport avec ce message
pb lors d'un transfert de variable entre 2 form [ par kakol ]
Bonjour a tous,Voila j'ai 2 form, Form1 et Form2. Dans le Form1 j'ai un comboBox et je voudrais pouvoir me servir dans le Form2 de la valeur que je ch
Problème de passage de variables entre form [ par JuGuuL ]
Salut, C surement une question de newbies, C ce que je suis en C# J'ai 2 Form, Form1 et Form2 Au demarrage Form1 se met en transparent 0% et j'aff
Form1 et form 2 [ par paloxicide ]
comment récupérer la valeur de mon textbox du formulaire précédent sachant que je travaille en MDICAD je suis sur form1 je rentre une valeur dans dans
MDI container [ par paloxicide ]
G un form container sans menu. Ensuite, g 2 form mdiChild (form1 et form2) qui sont donc donc dans le container. Mon pb est que je n'arrive pas de pa
Form1 et Form2 [ par emmanuel9 ]
Boujour à tous, J'ai une form qui s'appelle Form1 et cette Form lance une autre Form qui s'appelle Form2 et je voudrais que dès que Form2 est affich
form inaccessible [ par cpetter ]
BonjourJe débute en C# et j'ai un petit problèmeJ'ai un form qui est mon programme principalEn plus j'ai un form qui s'ouvre depuis le menu du form1 e
Accèder à une varible d'une autre Form [ par Kaneda Shotaro ]
J'ai 2 forms : Form1 et Form2. Cette dernière est créée par Form1.Dans Form1 il y a ceci :namespace MonAppli{ public partial class </font
Passer d'une form a une autre :s [ par wally88 ]
Bonjour, alors j'ai vraiment du mal mais je n'arrive pas a passer d'une form a une autre. Dumoin afficher la form2 depuis un bouton placer sur la form
Lancer une Form depuis une autre [ par PiKtchou ]
Bonjour,Je souhaite lancer une Form2 depuis une Form1, et pouvoir fermer Form1 en conservant Form2 ouvert. J'ai essayé le code suivant ://en C#.NET//D
DatagridView et dérivation d'un form [ par RMI ]
Bonjour,J'ai un soucis avec VS2005.J'ai sur un formulaire Form1 un datagridview noté protected. Je dérive Form1 en Form2 mais je ne peux pas déplacer
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|