Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

passage de parametre entre From

3 réponses
Avatar
SODELEM
Bonjour,
J ai un petit soucie dans mon application. Voila je voudrais faire
communiquer 2 form entre elles.
Je suis sur la Form1 je clik sur le bouton qui fait passer des parametres
et les affiches dans une zone de texte.de la Form2(ici je fais une surcharge
en faisant passer un parametre)

Jusque la tout va bien, mais ensuite je voudrais faire l'inverse de ma Form2
renvoyer des parametres à ma Form1 sans recréer une nouvelle Form1, je pense
qu il faudrait que je declare ma Form1 pour qu elle soit accessible a la
forme 2 ou alors la faire passer en parametre mais comment?

Je vous remercie d avance

3 réponses

Avatar
LEBRUN Thomas
Dans le constructeur de la page fille, passe en parametre (ref) la page mere.

Dans l'appel de ta form fille, tu passe this en paramètres

Cela devrait fonctionner.

A+

--
LEBRUN Thomas
MCP Visual C# (70-316)


"SODELEM" a écrit :

Bonjour,
J ai un petit soucie dans mon application. Voila je voudrais faire
communiquer 2 form entre elles.
Je suis sur la Form1 je clik sur le bouton qui fait passer des parametres
et les affiches dans une zone de texte.de la Form2(ici je fais une surcharge
en faisant passer un parametre)

Jusque la tout va bien, mais ensuite je voudrais faire l'inverse de ma Form2
renvoyer des parametres à ma Form1 sans recréer une nouvelle Form1, je pense
qu il faudrait que je declare ma Form1 pour qu elle soit accessible a la
forme 2 ou alors la faire passer en parametre mais comment?

Je vous remercie d avance





Avatar
Frederic Melantois
Bonjour,

Le mieux est sans doute de passer par une interface.

Tu crées une interface en spécifiant le nom de tes paramètres, etc...

Ton form2 implémente l'interface

Ton form1 ouvre ta form2

tu passes quelques paramètres de la form1 vers la form2 de cette manière
...
ImonInterface affectVersForm2 = (ImonInterface) MaForm2;

affectVersForm2.MonParametre="une valeur"; //en set
...etc...

Dans ton Form2, tu réalises à loisir tes opérations. Toutes modifications
dans Form2 "se voient" dans le Form1 car on dispose d'une référence...

string recuperation = affectVersForm2.MonParametre; //en get

Frédéric Mélantois


"SODELEM" a écrit dans le message de
news:O4qby%
Bonjour,
J ai un petit soucie dans mon application. Voila je voudrais faire
communiquer 2 form entre elles.
Je suis sur la Form1 je clik sur le bouton qui fait passer des parametres
et les affiches dans une zone de texte.de la Form2(ici je fais une


surcharge
en faisant passer un parametre)

Jusque la tout va bien, mais ensuite je voudrais faire l'inverse de ma


Form2
renvoyer des parametres à ma Form1 sans recréer une nouvelle Form1, je


pense
qu il faudrait que je declare ma Form1 pour qu elle soit accessible a la
forme 2 ou alors la faire passer en parametre mais comment?

Je vous remercie d avance




Avatar
Herve MAILLARD
Moi je fais comme ça :


(j'ai utilisé le code suivant pour appeller une boite de login):

public int loggin = 0; //Variable globale

//Appel de la boite de login
Form Pass = new Password(); // c'est ma boite de login
base.AddOwnedForm (Pass);
Pass.ShowDialog (); //affiche la boite
//Attente fin de traitement du mot de passe
while(loggin==0)
{
Application.DoEvents();
}
if (loggin ==1)
//et ainsi de suite

Voila pour la partie Form1.

Maintenant coté Form2 : (dans le FormLoad, il faut mettre un peu de code).
private Form1 FrmParam;

private void Form2_Load(object sender, System.EventArgs e)
{
FrmParam = (Form1)this.Owner;
this.Txt_Password.Focus ();
}

Après on peut utiliser la variable qui sera modifiée dand Form1:
FrmParam.loggin =-1;