Salut,
comment peut-on utiliser une variable appartenant à une classe dans une autre classe?
en fait, j'ai besoin du contenu d'un textbox situé dans une form1 pour l'utiliser dans le form2.
merci
Salut,
comment peut-on utiliser une variable appartenant à une classe dans une autre classe?
en fait, j'ai besoin du contenu d'un textbox situé dans une form1 pour l'utiliser dans le form2.
merci
Je pense qu'il est très urgent que tu modifie le titre de ton post et que tu ailles faire un tour sur la faq...
Merci d'éviter ce genre de titre à l'avenir et d'éviter de poser plusieurs fois la question
Merci d'apporter des précisions, MFC ? .Net ?
Tout d'abord je m'excuse.Envoyé par nico-pyright(c)
En effet j'utilise VC++.Net 2003 et mon application est en .net
Le principe est de passer une référence de ta première classe à la deuxième. Tu peux t'inspirer de cet exemple dans la faq, mais à adapter au vieux C++.Net http://dotnet.developpez.com/faq/cpp...sspublicmethod
Je vais vous expliquer mon problème plus clairement j'ai créee deux Forms: le 1er contient un textbox1 et un boutton et le 2ème contient aussi des textbox...
dans le deuxième form j'ai besoin du textbox1->text cela n'est pas possible car textbox1 est un membre privé.
J'epère que vous me comprennez.
j'avais bien compris
J'imagine que c'est ta form1 qui crée et affiche la form2, c'est pour ca qu'à ce moment, je te propose de passer la form1 en paramètre, ainsi, il ne te reste plus qu'à faire un accesseur public qui te renvoit la valeur de la textbox
Maintenant ouiEnvoyé par aziziti
Et bien il te suffit de créer une méthode publique dans 2eme form qui récupère le contenu de ton textBox1.
[edit]oui, suis les conseils de nico-pyright(r), c'est plus précis[/edit]
S'il vous plaît pouvez vous m'expliquer encore car j'ai pas compris votre réponseEnvoyé par nico-pyright(c)
merci bien
Personnellement, j'ai besoin de plus de précisions pour te répondre.
Comment sont créés tes form1 et form2?
tu crées une méthode publique dans ta form1 qui va renvoyer la valeur de ton textbox, genre:
Ensuite, dans ta form2, tu appelles cette méthode depuis la form1 passée en paramètres, comme expliqué dans la faq
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public: String * GetTextBox1() { return TextBox1->Text; }
Ce qui fait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 String * chaine = new String(maform1->GetTextBox1());
merci mais cette solution ne marche pas avec VS 2003Envoyé par nico-pyright(c)
avez vous une autre?
merci
dans ma form1 il ya un bouton en cliquant sur ce bouton la form2 apparaît mais j'ai besoin de contenu d'un textbox de la form1 pour faire un certain calcul dans la form2.hEnvoyé par r0d
je m'excuse et merci
ok, et bien tu as plusieurs solutions. Je te propose celle-ci:
1/ Tu rajoute une variable membre dans ta form2 de type const CString. Je l'appellerais m_strString. Elle servira à récupérer le contenu de l'edit de la form1.
2/ Tu créé une méthode publique dans form2 qui permet de remplir m_strString:
3/La création de ta form2, lorsque tu clique sur le bouton de ta form1, doit ressembler à cela:
Code : Sélectionner tout - Visualiser dans une fenêtre à part void SetstrString(const CString& strString){m_strString = strString;}Et bien juste avant le DoModal(), il te suffit de récupérer le contenu de ton edit et de l'envoyer à ta form2. Ca devrait ressembler à qqchose comme ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Form2 form2; form2.DoModal();
4/ Maintenant, tu a ta variable m_strString dans Form2 qui contient ce que tu souhaite, il te reste à en faire ce dont tu as besoin.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 CString strTmp; monEdit.GetWindowText(strTmp); from2.SetstrString((const CString) strTmp);
Hope it helps.
merci beaucoupEnvoyé par r0d
t'as un projet Winforms (.net) ou MFC ?
Merci tout le monde
Partager