Integrer des forms entre elles (et modifier ses integrations) [Résolu]

Signaler
Messages postés
5
Date d'inscription
jeudi 13 janvier 2011
Statut
Membre
Dernière intervention
25 avril 2013
-
Messages postés
5
Date d'inscription
jeudi 13 janvier 2011
Statut
Membre
Dernière intervention
25 avril 2013
-
Bonjour,

Je travaille sur une application en c# avec visual studio 2010 et je suis confronté à un petit problème.

Dans mon application, j'ai 3 Form (MaFormPrincipale, MaForm2 et MaForm3).

Je voudrais pouvoir intégrer MaForm2 dans MaFormPrincipale pour cela j'ai utilisé le code suivant :


            MaForm2 Page = new MaForm2();
            Page.TopLevel = false;
            Page.Left = 180;
            Page.Top = 24;
            Page.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
            Page.Size = this.Size;
            Page.BringToFront();
            Page.Visible = true;
            this.Controls.Add(Page);



Je voudrais pouvoir, a partir d'un bouton présent dans ma form2, effacer ma form2 contenu dans MaFormPrincipale pour la remplacer par MaForm3. (et donc avoir MaForm3 intégrer dans MaFormPrincipale)


J'ai bien essayer un code du type :

 MaForm3 FTrois = new MaForm3 ();
            FTrois.TopLevel = false;
            FTrois.Top = 10;
            FTrois.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
            FTrois.Size = this.Size;
            FTrois.BringToFront();
            FTrois.Visible = true;
            this.Parent.Controls.Remove(MaForm2);
            this.Parent.Controls.Add(FTrois);


j'ai également essayer de rajouter
Form1 accueil = new form1(); 


au début afin de mettre les lignes suivante a la fin du code mais toujours aucun résultat.

accueil.Control.Remove(MaForm2); 
accueil.Control.Add(FTrois);


Aucune de ses proposition n'a fonctionné, l'un de vous pourrez m'aider si vous plais.

Si ma solution pose problème pouvais me dire quelle méthode suivre pour obtenir le résultat voulu
Merci

2 réponses

Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
23 janvier 2016
22
Salut,

tu ne peux pas faie new Form1() puisque c'est déjà "this".

Ensuite pourquoi mettre "Parent" dans ce code :
this.Parent.Controls.Remove(MaForm2);
this.Parent.Controls.Add(FTrois);

this = Form1, donc ceci doit marcher :
this.Controls.Remove(MaForm2);
this.Controls.Add(FTrois);


bye...
Messages postés
5
Date d'inscription
jeudi 13 janvier 2011
Statut
Membre
Dernière intervention
25 avril 2013

Merci beaucoup,

il me semblait avoir tester cette solution mais surement que non. En effet, ça marche par contre c'est super long à charger et je ne sais pas pourquoi.