Recuperer valeur de textbox d'un form1 dans un autre form2 [Résolu]

Signaler
Messages postés
79
Date d'inscription
mercredi 22 octobre 2008
Statut
Membre
Dernière intervention
17 juin 2009
-
Messages postés
14582
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
7 août 2020
-
je veux recuperer la valeur saisie ds un textbox d'un form1 dans un aitre form2
je fais une methode
dans form1
        public string hj()
        {
            return (textBox1.Text);
        }
dans form2
            Form1 f = new Form1();
            string kj = kko.hj();
            MessageBox.Show(kj);
il m affoche un text box vide
Merci d'avance

3 réponses

Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
39
C'est pas parce que tu postes plusieurs messages dans la même journée que tu dois éviter de dire bonjour dans chaque.

Tout d'abord, ton code ne pourra pas compiler parce que "kko" n'existe pas. Je suppose que dans cet exemple, tu voulais utiliser f.
Ensuite, textBox1, on comprends ce que c'est. f c'est un nom simple qui nous permet de ne pas trop nous tromper. Mais kj, hj, kko... Tu comprends peut-être de quoi il s'agit mais pas nous.

Bon, j'explique ton code :
- Je crée une nouvel objet (vide) de type Form1.
- Je crée un string qui contient la valeur du contenu de la textBox1 de la Form1 que je viens à peine de créer (que je n'ai même pas affiché, dont tous les champs sont évidemment vides ou à leur valeur par défaut)
- J'affiche la valeur de mon string
=> S'il est vide, c'est normal !

L'important est d'avoir une référence vers ton objet Form1 déjà créé et affiché.
Alors soit tu apprends comment passer des références d'une form à une autre :
http://www.csharpfr.com/codes/PASSAGE-PARAMETRES_26735.aspx
Soit tu transforme ta Form1 en singleton (Google => singleton C# =>212 000 résultats )

Krimog : while (!(succeed = try())) ;
- NON, "LE BAR" n'est PAS un langage de programmation ! -
Messages postés
79
Date d'inscription
mercredi 22 octobre 2008
Statut
Membre
Dernière intervention
17 juin 2009

bonjour,
Merci bien pour votre réponse
desolé car j ai pa dis bonjour dans mon premier message
pour  kko c f ; c'est une faute
Messages postés
1
Date d'inscription
samedi 1 juin 2019
Statut
Membre
Dernière intervention
1 juin 2019

Bjr,
En Form1
Tu vas sur la procedure textbox.Leave, tu entre le code suivant:
Form2 f = new form2()
f.textbox2.text = textbox1.text
Messages postés
14582
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
7 août 2020
426
BONJOUR
La charte que tu as accepté aujourd’hui en t’inscrivant, stipule, entre autre de n pas écrire en sms.

De plus cette question est résolue depuis 10, aucun intérêt donc de la sortir de son sommeil, sauf à révolutionner les réponses apportées.

Et c’est là qu’on en arrive au contenu de ton code, c’est contraire au principe de base de la programmation objet, et C# est un langage objet: un élément constitutif d’un objet ne doit pas être accessible directement de l’extérieur.

Baby85 avait utilisé un getter et un setter, ça c’est juste, même s’il l’avait mal mis en œuvre.
Tu peux lire le lien posté par Krimog, et celui-ci https://codes-sources.commentcamarche.net/faq/11107-interactions-entre-form-en-net-c-et-vb-net