Paramètre entre 2 forms

cs_stailer Messages postés 507 Date d'inscription jeudi 28 mars 2002 Statut Membre Dernière intervention 13 mai 2009 - 26 sept. 2003 à 15:58
cs_stailer Messages postés 507 Date d'inscription jeudi 28 mars 2002 Statut Membre Dernière intervention 13 mai 2009 - 26 sept. 2003 à 23:09
Salut tout le monde,

Je continue mon apprentissage à C# avec sharpdevelop et me voila confronté à un nouveau problème.

Mon projet contient 2 forms. J'aimerais que lorsque je clique sur la form2, le texte qui est dans un textbox de la form1 s'affiche dans un textbox sur ma form2.

En clair : comment envoyer une valeur à un autre formulaire ?

En vous remerciant

<-- St@iLeR -->

2 réponses

gg00xiv Messages postés 656 Date d'inscription mercredi 22 août 2001 Statut Membre Dernière intervention 11 mars 2005 13
26 sept. 2003 à 19:18
tu réécrit le constructeur de ta form2 un paramètre de type Form. Et tu met la propriété Modifier de ton control TextBox de ta form1 à la valeur public.
Dans ces morceaux de code on supposera que ton control TextBox s'appelle textBox1 aussi bien dans form1 que dans form2.

dans le constructeur de ta form2:
public Form2(Form form)
{
this._form = form;
}


quand tu apelle ta form2 dans le code de ta form1:
Form2 frm = new Form2(this);
frm.Show(); // ou frm.ShowDialog();


dans le code de ta form2 (kan tu veut que le transfert de données se fasse):
this.textBox1.Text = this._form.textBox1.Text;
0
cs_stailer Messages postés 507 Date d'inscription jeudi 28 mars 2002 Statut Membre Dernière intervention 13 mai 2009 1
26 sept. 2003 à 23:09
Merci mais je viens de trouver plus simple :

Au début du code, avec la déclaration des objets il faut faire ca :
System.Windows.Forms.Form FormPrincipale = new MainForm();

Enfin sur un bouton il suffit de faire ca :

textbox1.Text = FormPrincipale.Controls[6].Text;

Le chiffre 6 correspond à l'index du controle sur ma page principale... Mais il doit y avoir moyen d'afficher le nom plutôt que le numéro d'index

Vala.

<-- St@iLeR
-->
0
Rejoignez-nous