A voir également:
- Petit problem windows::form c++ visual form
- Clé windows 10 gratuit - Guide
- Montage video windows - Guide
- Windows ne démarre pas - Guide
- Windows 10 gratuit - Accueil - Mise à jour
- Windows movie maker windows 11 - Télécharger - Montage & Édition
2 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
Modifié par KX le 18/11/2010 à 14:01
Modifié par KX le 18/11/2010 à 14:01
Il y a peut-être plus propre, mais j'avoue avoir essayé d'autres méthodes avant celle-ci, mais elles ne fonctionnaient pas.
Voici ce que j'ai fait :
J'ai créé un nouveau projet Windows Forms. Form1 est créé automatiquement, je fais ajouter, nouvel élément Windows Forms et je l'appelle Form2.
Dans Form1, je rajoute un TextBox, et je fais de même dans Form2. Par défaut les deux s'appellent textBox1, pour être plus clair, je renomme en textBox2 celui de Form2.
Dans Form2.h, je modifie l'accès private de textBox2 en public.
Puis dans Form1.h, je fais include "Form2.h" et j'implémente :
Et en rajoutant l'évenement TextChanged à textBox1 :
J'espère n'avoir rien oublié entre ce que je fais et ce que je viens d'expliquer.
Chez moi ça donne : form1 s'ouvre tout seul, je peux faire ce que je veux avec, mais quand j'écris "form2 ouvre toi", la fenêtre form2 s'ouvre et textBox2 affiche le contenu de textBox1. Au départ ce contenu sera "form2 ouvre toi", mais à chaque modification de textBox1 le texte de textBox2 sera modifié.
Léger bug lié à mon exemple, si tu fermes form2, le programme plante quand tu écris une nouvelle fois "form2 ouvre toi" car la méthode Show() ne peut plus s'appliquer.
Voici ce que j'ai fait :
J'ai créé un nouveau projet Windows Forms. Form1 est créé automatiquement, je fais ajouter, nouvel élément Windows Forms et je l'appelle Form2.
Dans Form1, je rajoute un TextBox, et je fais de même dans Form2. Par défaut les deux s'appellent textBox1, pour être plus clair, je renomme en textBox2 celui de Form2.
Dans Form2.h, je modifie l'accès private de textBox2 en public.
Puis dans Form1.h, je fais include "Form2.h" et j'implémente :
public ref class Form1 : public System::Windows::Forms::Form { private: Form2 ^ form2; public: Form1(void) { InitializeComponent(); form2 = gcnew Form2(); // form2->Show(); // on peut afficher form2 maintenant // j'ai préféré le faire plus tard }
Et en rajoutant l'évenement TextChanged à textBox1 :
System::Void textBox1_TextChanged(System::Object^ sender, System::EventArgs^ e) { this->form2->textBox2->Text = this->textBox1->Text; if (this->textBox1->Text == "form2 ouvre toi") form2->Show(); // form2 peut-être affiché quand on veut }
J'espère n'avoir rien oublié entre ce que je fais et ce que je viens d'expliquer.
Chez moi ça donne : form1 s'ouvre tout seul, je peux faire ce que je veux avec, mais quand j'écris "form2 ouvre toi", la fenêtre form2 s'ouvre et textBox2 affiche le contenu de textBox1. Au départ ce contenu sera "form2 ouvre toi", mais à chaque modification de textBox1 le texte de textBox2 sera modifié.
Léger bug lié à mon exemple, si tu fermes form2, le programme plante quand tu écris une nouvelle fois "form2 ouvre toi" car la méthode Show() ne peut plus s'appliquer.