Affectation d'une valeur sur une autre form

Résolu
surfouze Messages postés 8 Date d'inscription lundi 9 février 2004 Statut Membre Dernière intervention 22 janvier 2008 - 1 mars 2005 à 16:25
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 - 2 mars 2005 à 12:18
Bonjour à tous,

Je suis débutant en C# et je voudrais savoir comment on affecte une valeur d'un textbox d'une form1 vers un textbox d'une form2.

J'ai essayé de faire la même chose qu'en Visual Basic mais cela ne marche pas.



Je remercie d'avance tous ceux qui m'aideront.



Dav

8 réponses

TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
1 mars 2005 à 16:35
Ils y en a qui te diront de mettre ta textbox de la form2 en public d'autres moi j'utiliserais les evenements et j'abonnerais ma textbox2 à l'evenement de validation de la une...

Si tu es débutant passe par le public, tu essaieras de comprendre les evenements / delegate ensuite.

::|The S@ib|::
MVP C#.NET
3
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
1 mars 2005 à 18:18
Salut,
Si la solution des events proposé par TheSaib t'intéresse, tu peux regarder cette source que j'ai faite, exprès pour les débutants : http://www.csharpfr.com/code.aspx?ID=26735

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
3
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
2 mars 2005 à 12:18
En fait quand tu fais çà Form1 frmCre = new Form1(); tu instancies une nouvelle form1.

Pour faire ce que tu veux il faut que tu passes l'instance de Forma1 qui s'execute actuellement.

Si tu es dans un contexte MDI :

ceci devrait marcher :

((Form1)form2.MdiParent).TextBox1.Text = "troooiooio";

Si tu n'es pas dans ce cas il faut passer en paramètre de ton constructeur l'instance de ta form1

private Form1 pere;
public Form2(Form1 maform1)
{
pere = maform1;
}

::|The S@ib|::
MVP C#.NET
3
surfouze Messages postés 8 Date d'inscription lundi 9 février 2004 Statut Membre Dernière intervention 22 janvier 2008
2 mars 2005 à 09:13
J'ai mis le contrôle en public donc maintenat je vois bien le contrôle dans la deuxième form.

Sauf que si je lui affecte une nouvelle valeur il ne l'affiche pas, il
laisse la valeur précédente pourtant le débogueur ne génére pas
d'erreur.



Merci pour vos réponses
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
2 mars 2005 à 11:21
Un peu de code serait la bienvenue :)

::|The S@ib|::
MVP C#.NET
0
surfouze Messages postés 8 Date d'inscription lundi 9 février 2004 Statut Membre Dernière intervention 22 janvier 2008
2 mars 2005 à 11:36
Excuse moi.

Dans la form 1 j'ai déclaré le textbox en public :

...

public System.Windows.Forms.TextBox textBox1;

...



Dans la form 2 sur clik sur bouton :

private void button1_Click(object sender, System.EventArgs e)

{

Form1 frmCre = new Form1();

frmCre.textBox1.Text="bonjour";

}



Mais le problème c'est qu'après cette affectation le textbox de la form 1 n'a pas prit la valeur "bonjour".

---------------

J'espère que cela t'éclaireras.
0
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
2 mars 2005 à 11:43
C'est un peu normal

Form1 frmCre = new Form1();
frmCre.textBox1.Text="bonjour";

Tu crées une nouvelle instance de la classe Form1. Rajoute juste çà après:

Form1.Show();

Tu comprendras ou est ton erreur.

::|The S@ib|::
MVP C#.NET
0
surfouze Messages postés 8 Date d'inscription lundi 9 février 2004 Statut Membre Dernière intervention 22 janvier 2008
2 mars 2005 à 12:08
Ok maintenant je comprends un peu mieux.

Mais j'ai un autre problème. La form 1 (c'est une MDI) est maintenant elle est ouverte 2 fois.

Comment fermer la form 1 qui n'a pas été actualisée ?

j'ai essayé : form2.MdiParent.Close();

j'ai ce message d'erreur :

-----------

Une exception non gérée du type 'System.NullReferenceException' s'est produite dans Films.exe



Informations supplémentaires : La référence d'objet n'est pas définie à une instance d'un objet.

-------

Merci de m'aider Dav
0
Rejoignez-nous