Bonjour,
Dans un projet Visual C++ Windows Forms, comment je peux int�grer une winforms dans une autre winforms
Merci d'avance
Version imprimable
Bonjour,
Dans un projet Visual C++ Windows Forms, comment je peux int�grer une winforms dans une autre winforms
Merci d'avance
Si tu utilises Visual C++, c'est tr�s simple :
1- tu cliques sur le menu Projet-> ajouter un nouvel �l�ment ->Windows form
et tu nommes ta nouvelle form Form2 par exemple ...
Ensuite dans ta form1 tu rajoutes :
Et l� o� tu veux ouvrir ta forme tu cr�es une instance de Form2 :Code:
1
2
3 #pragma once #include "Form2.h"
puis tu ouvres ta forme avec :Code:Form2 ^ma_forme2 = gcnew Form2();
Bon courage ..Code:ma_forme2->Show(this);
Merci jlg_47 pour votre r�ponse mais ce n'est pas exactement ce que je veux,
Dans votre code la form2 s'affiche librement, moi je veux qu'elle s'affiche � l'int�rieur de la form1 c�d encastr�e dedans
Merci d'avance
Bonjour.
Si c'est pour un syst�me MDI, un d�but ici : http://msdn.microsoft.com/fr-fr/libr...8VS.80%29.aspx
Sinon faire un contr�le personnalis� qui s'ajoute � la bo�te � outils.
Merci pour le lien mais le langage C++ n'est pas pris en consid�ration
Je ne veux pas vraiment un contexte MDI, et pour votre propositionje n'est vraiment aucune id�eCitation:
un contr�le personnalis� qui s'ajoute � la bo�te � outils
ce que je veux est le suivant:
j'ai un form1 dans lequel j'ai un bouton
Si je clique sur ce bouton ma form2 s'affiche dans une partie de ma form1
Merci d'avance
Avec la m�thode que j'ai indiqu�e vous pouvez tr�s bien choisir l'endroit o� la forme s'affiche.
Dans les variables n�cessaire au concepteur vous d�clarez :
Cela permet de cr�er une seule instance statique de la forme.Code:static Form2 ^ma_forme2 = gcnew Form2();
Ensuite quand vous avez besoin de la forme, vous faites :
Left indique la position en x en pixelsCode:
1
2
3
4 ma_forme2->Left=25; ma_forme2->Top=30; ma_forme2->Show(this);
Top indique la position en y en pixels
Ici j'ai mis 25 et 30 ... � vous de mettre ce que vous souhaitez.
Quand vous n'avez plus besoin de la forme, vous faites:
Sinon comme a dit Moldavi vous pouvez aussi cr�er un contr�le utilisateur et l'int�grer � la Winforms ...Code:ma_forme2->Hide();
Pour cela allez � Projet->ajouter un nouvel �l�ment->UI->Contr�le utilisateur
Vous cr�ez le contr�le conform�ment � ce que vous souhaitez ...
Il faut alors fermer Visual et l'ouvrir � nouveau et vous trouverez votre nouveau contr�le dans la liste des contr�les et vous pourrez alors l'ajouter � la Fom1 comme un contr�le standard ..
Ensuite il suffit de jouer sur la propri�t� Visible pour le rendre visible ou invisible
Bon courage
Merci jlg_47 pour votre explication
J'ai r�solu le probl�me avec le splitContainer et j'ai ajout� la propri�t�
et voici le code completCode:wf1->TopLevel = false;
Bien s�re, il na faut pas oublierCode:
1
2
3
4 MaWinForms::WF1 ^wf1 = gcnew WF1(); wf1->TopLevel = false; this->splitContainer->Panel2->Controls->Add(wf1); wf1->Show();
�a n'emp�che que j'ai appr�cier l'id�e des userControlCode:#include "WF1.h"