OVH Cloud OVH Cloud

dialogue entre deux forms dans les deux sens

2 réponses
Avatar
nico
Bonjour,

J'ai un programme contenant plusieurs forms.
J'ai une form Mere (form1) et deux filles (form2 et 3).
Les filles sont lancées par :


alerte1.textBox1.Text=id_client;
alerte1.textBox2.Text=id_contact1;
alerte1.textBox3.Text=impo;
alerte1.label1.Text = "RAPPEL : Client " + nomclient1 + "\n\nRappeler "
+ prenom1 + " " + nom1 + " au " + telc;
alerte1.ShowDialog(this);

C'est le seul moyen que j'ai trouvé pour que form1 envoie des parametres
à form2 et que form2 puisse executer et envoyer des parametres a form1.
Soit un dialogue bilatteral.

Le probleme, c'est que dans ce cas la form2 reste sur la form1 et donc
je ne peut pas utiliser ces deux forms en meme temps. A caus eje pense
du ShowDialog(). Mais si j'utilise le Show() alors la la fille ne peut
pas dialoguer avec la mere.

Comment puis je faire pour pouvoir avoir deux forms qui puissent se
passer des parameteres et etre utilisables en meme temps ?


Merci
Nico

2 réponses

Avatar
Nicolas
Voila ce que je fait dans la form fille :

namespace PaPWatch
{
/// <summary>
/// Description résumée de alerte.
/// </summary>
public class alerte : System.Windows.Forms.Form
{
public Form1 form_par;
.....

public alerte(Form1 p_MainForm)
{
form_par = p_MainForm;


InitializeComponent();


}

/// <summary>
/// Nettoyage des ressources utilisées.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}

#region Code généré par le Concepteur Windows Form
....

private void annuler_Click(object sender, System.EventArgs e)
{
form_par.etat0(textBox2.Text);
this.Close();
}

private void voir_Click(object sender, System.EventArgs e)
{
form_par.etat0(textBox2.Text);
form_par.voirclient(textBox1.Text, textBox3.Text);
this.Close();
}

private void button1_Click(object sender, System.EventArgs e)
{
form_par.plustard(textBox2.Text);
this.Close();
}
}
}




Momo a écrit :

> Pourquoi ne pas passer la première comme paramètre pour la seconde au
niveau
> de son contructeur ?

"nico" a écrit dans le message de news:
%

Bonjour,

J'ai un programme contenant plusieurs forms.
J'ai une form Mere (form1) et deux filles (form2 et 3).
Les filles sont lancées par :


alerte1.textBox1.Text=id_client;
alerte1.textBox2.Text=id_contact1;
alerte1.textBox3.Text=impo;
alerte1.label1.Text = "RAPPEL : Client " + nomclient1 + "nnRappeler " +
prenom1 + " " + nom1 + " au " + telc;
alerte1.ShowDialog(this);

C'est le seul moyen que j'ai trouvé pour que form1 envoie des parametres à
form2 et que form2 puisse executer et envoyer des parametres a form1. Soit
un dialogue bilatteral.

Le probleme, c'est que dans ce cas la form2 reste sur la form1 et donc je
ne peut pas utiliser ces deux forms en meme temps. A caus eje pense du
ShowDialog(). Mais si j'utilise le Show() alors la la fille ne peut pas
dialoguer avec la mere.

Comment puis je faire pour pouvoir avoir deux forms qui puissent se passer
des parameteres et etre utilisables en meme temps ?










Merci
Nico







Avatar
momo
"nico" a écrit dans le message de news:
%
Bonjour,

J'ai un programme contenant plusieurs forms.
J'ai une form Mere (form1) et deux filles (form2 et 3).
Les filles sont lancées par :


alerte1.textBox1.Text=id_client;
alerte1.textBox2.Text=id_contact1;
alerte1.textBox3.Text=impo;
alerte1.label1.Text = "RAPPEL : Client " + nomclient1 + "nnRappeler " +
prenom1 + " " + nom1 + " au " + telc;
alerte1.ShowDialog(this);

C'est le seul moyen que j'ai trouvé pour que form1 envoie des parametres à
form2 et que form2 puisse executer et envoyer des parametres a form1. Soit
un dialogue bilatteral.

Le probleme, c'est que dans ce cas la form2 reste sur la form1 et donc je
ne peut pas utiliser ces deux forms en meme temps. A caus eje pense du
ShowDialog(). Mais si j'utilise le Show() alors la la fille ne peut pas
dialoguer avec la mere.

Comment puis je faire pour pouvoir avoir deux forms qui puissent se passer
des parameteres et etre utilisables en meme temps ?



Pourquoi ne pas passer la première comme paramètre pour la seconde au niveau
de son contructeur ?



Merci
Nico