Sign in to follow this  
MyHand

[TUTO]Communication entre deux formulaire.

4 posts in this topic

Yo.

 

 

Ya pas longtemps ( hier ), je cherchais un moyen de pouvoir manipuler mon premier formulaire dans le code de mon deuxième formulaire.

 

J'ai par habitude de faire un tuto comme celui-ci en donnant une hypothèse, des expériences, une interprétation et une conclusion, comme en cours de Physique ou de S.V.T par exemple.

 

J'ai donc eu une hypothèse:

 

>Form1 form1 = new Form1();

 

Seulement problème. En effet, en effectuant ceci, on créer une nouvelle form, similaire a la première. On l'affiche pas, sinon on ferais form1.Show();. Du coup, si je veux par exemple minimiser ma première fenêtre en faisant:

> form1.WindowState = FormWindowState.Minimized; 

 

ça marchera pas car nous modifions l'état de notre copie de la Form1, et pas de la Form1 qui est affiché initialement.

 

J'ai un petit peu traficoté, et j'ai essayé quelque chose: dans le constructeur de la Form2, passé en argument la form1 initialement affiché.

ça me donne ceci, dans le constructeur de la Form2:

>
Public Form2(Form1 form)
{
   InitializeComponent();
}

Ensuite, il me fallait récupéré la valeur de l'argument. Easy:

>
private Form1 iniForm1;
Public Form2(Form1 form)
{
   this.iniForm1 = form;
   InitializeComponent();
}

 

Ok pour le constructeur. Du coup, pour manipuler ma form1 depuis ma form2, j'utiliserais iniForm1.Méthode, et ça marchera.

Ensuite, pour construire la Form2 et l'affiché, on fais comme ça, dans Form1:

>
Form2 form2 = new Form2(this);

 

Et voilà, c'est finis. Si dans l'événement Load de la Form2 je mets:

>
iniForm1.WindowState = FormWindowState.Minimized;

Ma form1 sera réduit.

 

On peux faire autre chose aussi, par exemple changer le texte, tout con:

>
iniForm1.text = "Nouveau Texte By Form2"

 

Bref, on a accès a toutes les propriétés de la Form1 qu'on peux contrôlé par la Form2.

 

Bon coding !

Si vous n'avez pas compris quelque chose, faites le moi savoir. Je sais qu'il y a sûrement d'autres moyen, mais je trouve celui-ci simple et instructif.

Tchao.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this