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

surfouze 8 Messages postés lundi 9 février 2004Date d'inscription 22 janvier 2008 Dernière intervention - 1 mars 2005 à 16:25 - Dernière réponse : TheSaib 2369 Messages postés mardi 17 avril 2001Date d'inscription 26 décembre 2007 Dernière intervention
- 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
TheSaib 2369 Messages postés mardi 17 avril 2001Date d'inscription 26 décembre 2007 Dernière intervention - 1 mars 2005 à 16:35
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

Merci TheSaib 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 80 internautes ce mois-ci

Commenter la réponse de TheSaib
Meilleure réponse
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 1 mars 2005 à 18:18
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

Merci cs_Bidou 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 80 internautes ce mois-ci

Commenter la réponse de cs_Bidou
Meilleure réponse
TheSaib 2369 Messages postés mardi 17 avril 2001Date d'inscription 26 décembre 2007 Dernière intervention - 2 mars 2005 à 12:18
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

Merci TheSaib 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 80 internautes ce mois-ci

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

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