OVH Cloud OVH Cloud

Une fenetre principale et une fenetre secondaire

2 réponses
Avatar
raleur
Bonjour j'ai une application dans une fenetre principale Form1. Et dans une une seconde fenetre
Form2 (une fenetre qui me permet de parametrer des options pour la fenetre Form1).

Pour ouvrir la fenetre Form2 à partir de form1 je fais :

Form2 Options=new Form2();
Options.Show();

jusqu'ici pas de soucis.

Mais comment modifier des choses qui se trouve sur Form1 (par exemple la valeur Text d'un label) à
partir de Form2.

merci

2 réponses

Avatar
Gilles TOURREAU
Le Fri, 31 Aug 2007 15:28:54 +0200, raleur a écrit:

Bonjour j'ai une application dans une fenetre principale Form1. Et dans
une une seconde fenetre Form2 (une fenetre qui me permet de parametrer
des options pour la fenetre Form1).

Pour ouvrir la fenetre Form2 à partir de form1 je fais :

Form2 Options=new Form2();
Options.Show();

jusqu'ici pas de soucis.

Mais comment modifier des choses qui se trouve sur Form1 (par exemple la
valeur Text d'un label) à partir de Form2.

merci



Il faut que vous stockiez une référence de Form1 dans Form2

private Form1 f1;

public Form2(Form1 f1)
{
this.f1 = f1;
}

Ainsi dans Form2, vous pouvez accéder à toutes les propriétés et/ou
méthodes public de Form1 :

void MéthodeDansForm2()
{
this.f1.UneTexteBoxDeForm1_QuiEstPublic.Text = "Coucou !";
}

Vous devez cependant créer votre form2 comme ceci :

Form2 Options=new Form2(this); //En considérant que ce code se situe dans
la classe Form1
Options.Show();

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
raleur
Gilles TOURREAU a écrit :
Le Fri, 31 Aug 2007 15:28:54 +0200, raleur a écrit:

Bonjour j'ai une application dans une fenetre principale Form1. Et
dans une une seconde fenetre Form2 (une fenetre qui me permet de
parametrer des options pour la fenetre Form1).

Pour ouvrir la fenetre Form2 à partir de form1 je fais :

Form2 Options=new Form2();
Options.Show();

jusqu'ici pas de soucis.

Mais comment modifier des choses qui se trouve sur Form1 (par exemple
la valeur Text d'un label) à partir de Form2.

merci



Il faut que vous stockiez une référence de Form1 dans Form2

private Form1 f1;

public Form2(Form1 f1)
{
this.f1 = f1;
}

Ainsi dans Form2, vous pouvez accéder à toutes les propriétés et/ou
méthodes public de Form1 :

void MéthodeDansForm2()
{
this.f1.UneTexteBoxDeForm1_QuiEstPublic.Text = "Coucou !";
}

Vous devez cependant créer votre form2 comme ceci :

Form2 Options=new Form2(this); //En considérant que ce code se situe
dans la classe Form1
Options.Show();

Cordialement



C'est très clair comme explication et ça fonctionne parfaitement.
Je vous remercie de votre aide