Dialogue entre deux forms

Résolu
cs_tahiti_bob Messages postés 86 Date d'inscription jeudi 8 juillet 2004 Statut Membre Dernière intervention 27 juin 2007 - 29 sept. 2004 à 19:17
Zeus1973 Messages postés 59 Date d'inscription vendredi 19 janvier 2007 Statut Membre Dernière intervention 15 août 2012 - 4 févr. 2007 à 03:49
Bonjour,

Est ce que quelqu'un sait comment est ce qu'on fait pour récupérer plusieurs variables d'une fenêtre fille ?

Merci

12 réponses

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
30 sept. 2004 à 18:39
Deux Form, form1 et form2
un struct qui va passer les variables :


public class Form1 : System.Windows.Forms.Form
{
private System.ComponentModel.Container components = null;
private Test _test; // l'object qu'on passe à l'autre form

public Form1()
{
InitializeComponent();
               // On remplit l'object (struct)
_test.test1 = 1;
_test.test2 = "test";
_test.test3 = 't';
               // On construit la nouvelle form en passant l'object
Form2 frm2 = new Form2(_test);
frm2.Show();
}

protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null) 
{
             components.Dispose();
}
}
base.Dispose( disposing );
}

#region Windows Form Designer generated code

private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.Size = new System.Drawing.Size(300,300);
this.Text = "Form1";
}
#endregion

[STAThread]
static void Main() 
{
Application.Run(new Form1());
}
}

struct Test
{
public int test1;
public string test2;
public char test3;
}


Ensuite tu récupères tes variables dans form2 :


public class Form2 : System.Windows.Forms.Form
{

private System.ComponentModel.Container components = null;
private Test _test; // La référence

public Form2(Test test)
{
InitializeComponent();
this._test = test;
}



Dans ta form qui s'appelle form2 tu as maintenant ta variable _test qui contient trois variables, que tu as donc passé d'une form à l'autre.
3
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
29 sept. 2004 à 22:42
Salut,

Tu peux par exemple garder une référence de ta fenêtre dans la fenêtre fille... (en passant, par exemple, une référence de ta Form par la constructeur).
Ok??
0
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
29 sept. 2004 à 23:44
Ya plein de solutions :

Passer ta form en reference comme le dit bidou
Utiliser les delegates reste une des solutions les plus propres dans certaines circonstances

::|The S@ib|::
MVP C#.NET
0
cs_tahiti_bob Messages postés 86 Date d'inscription jeudi 8 juillet 2004 Statut Membre Dernière intervention 27 juin 2007 1
30 sept. 2004 à 17:47
Bonjour,

J'ai déjà trouvé sur ce site des exemples permettant de passer une variable entre deux forms.
Mais, je n'arrive toujours pas a passer plusieurs variables.

Est ce que quelqu'un peut me donner un exemple concret ?

@++ CG
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
30 sept. 2004 à 18:39
tu creer une classe dans laquelle tu stocke toute tes variables et tu fais reference a ta classe...

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
30 sept. 2004 à 18:47
yep ca marche aussi :)

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
0
cs_tahiti_bob Messages postés 86 Date d'inscription jeudi 8 juillet 2004 Statut Membre Dernière intervention 27 juin 2007 1
30 sept. 2004 à 20:35
Je vous remerci de votre aide mais ce n'est pas tout à faity à ça qu'il me faut :

Je voudrais qu'on ouvre une fenêtre fille et qu'elle puisse renvoyer des données a la form mère.

Qqn a une idée ?

@++ CG
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
1 oct. 2004 à 08:44
ben ce que t'a poster bidou fonctionne....
pour ce que tu veux faire...

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
0
cs_tahiti_bob Messages postés 86 Date d'inscription jeudi 8 juillet 2004 Statut Membre Dernière intervention 27 juin 2007 1
1 oct. 2004 à 15:43
OK, c'est bon, j'ai réussi !!
J'vous remerci de votre aide

@++ CG
0
cs_tahiti_bob Messages postés 86 Date d'inscription jeudi 8 juillet 2004 Statut Membre Dernière intervention 27 juin 2007 1
11 oct. 2004 à 21:16
Merci Bidou de ta source disponible à l'adresse

http://www.csharpfr.com/code.aspx?ID=26735

@++ CG
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
7 mars 2005 à 10:59
J'arrive avec 4 mois de retard, mais de rien quand même ;-)

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
0
Zeus1973 Messages postés 59 Date d'inscription vendredi 19 janvier 2007 Statut Membre Dernière intervention 15 août 2012
4 févr. 2007 à 03:49
S.T.P

je veux passer mon tableau de form1 pour l'afficher dans ma lisrBox2 dans form2
je galere
0
Rejoignez-nous