Affectation d'une valeur sur une autre form [Résolu]

Messages postés
8
Date d'inscription
lundi 9 février 2004
Dernière intervention
22 janvier 2008
- - Dernière réponse : TheSaib
Messages postés
2369
Date d'inscription
mardi 17 avril 2001
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
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
Messages postés
2369
Date d'inscription
mardi 17 avril 2001
Dernière intervention
26 décembre 2007
16
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 112 internautes nous ont dit merci ce mois-ci

Commenter la réponse de TheSaib
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Dernière intervention
20 juin 2013
58
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 112 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Bidou
Messages postés
2369
Date d'inscription
mardi 17 avril 2001
Dernière intervention
26 décembre 2007
16
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 112 internautes nous ont dit merci ce mois-ci

Commenter la réponse de TheSaib
Messages postés
8
Date d'inscription
lundi 9 février 2004
Dernière intervention
22 janvier 2008
0
Merci
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
Commenter la réponse de surfouze
Messages postés
2369
Date d'inscription
mardi 17 avril 2001
Dernière intervention
26 décembre 2007
16
0
Merci
Un peu de code serait la bienvenue :)

::|The S@ib|::
MVP C#.NET
Commenter la réponse de TheSaib
Messages postés
8
Date d'inscription
lundi 9 février 2004
Dernière intervention
22 janvier 2008
0
Merci
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.
Commenter la réponse de surfouze
Messages postés
2369
Date d'inscription
mardi 17 avril 2001
Dernière intervention
26 décembre 2007
16
0
Merci
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
Commenter la réponse de TheSaib
Messages postés
8
Date d'inscription
lundi 9 février 2004
Dernière intervention
22 janvier 2008
0
Merci
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
Commenter la réponse de surfouze

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.