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?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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?
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
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
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" <sodelem@nordnet.fr> a écrit dans le message de
news:O4qby%23yYEHA.1356@TK2MSFTNGP09.phx.gbl...
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?
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
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;
Après on peut utiliser la variable qui sera modifiée dand Form1: FrmParam.loggin =-1;
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;
(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;