[VB] Afficher un Form
Résolu
Radek
-
Anonyme -
Anonyme -
Hello !
J'ai un petit soucis.
Je dispose de plusieurs Form (Form1, Form2, Form3, ...) déjà programmées et fonctionnant indépendamment les unes des autres.
Dans un autre Form (FormMain), je souhaite définir un menu qui fera appelle aux autres Form pour qu'ils s'affichent dans le FormMain dans un frame déjà définie.
Est-ce possible ? Et si oui voyez-vous une solution ?
Merci pour vos réponse.
J'ai un petit soucis.
Je dispose de plusieurs Form (Form1, Form2, Form3, ...) déjà programmées et fonctionnant indépendamment les unes des autres.
Dans un autre Form (FormMain), je souhaite définir un menu qui fera appelle aux autres Form pour qu'ils s'affichent dans le FormMain dans un frame déjà définie.
Est-ce possible ? Et si oui voyez-vous une solution ?
Merci pour vos réponse.
A voir également:
- [VB] Afficher un Form
- Vb - Télécharger - Langages
- Afficher appdata - Guide
- Afficher taille dossier windows - Guide
- Windows 11 afficher d'autres options - Guide
- Afficher mot de passe wifi android - Guide
3 réponses
Salut,
il n'est pas nécessaire de faire tout ce code. Il suffit de définir FormMain.IsMdiContainer à True et ajouter Form1, Form2 et Form3 comme enfants. (Form1.MdiParent = FormMain)
Voilà
il n'est pas nécessaire de faire tout ce code. Il suffit de définir FormMain.IsMdiContainer à True et ajouter Form1, Form2 et Form3 comme enfants. (Form1.MdiParent = FormMain)
Voilà
Bon je me réponds à moi même, car j'ai trouvé et ca pourrais interresser qq 1.
En fait normalement on ne peut pas inclure un Form dans un autre Form, car Form est un container principal. Mais pour contourner ce pb il suffit de mettre le toplevel de la form à inclure à False...
Par exemple :
Definir 3 Form : Form1, Form2 et Form3.
Ajouter un MenuStrip dans Form1 pour pouvoir afficher les Form2 ou Form3 dans Form1.
Et Ajouter les lignes suivantes dans Form1
Et voili !
Bon Week-End à tous !
En fait normalement on ne peut pas inclure un Form dans un autre Form, car Form est un container principal. Mais pour contourner ce pb il suffit de mettre le toplevel de la form à inclure à False...
Par exemple :
Definir 3 Form : Form1, Form2 et Form3.
Ajouter un MenuStrip dans Form1 pour pouvoir afficher les Form2 ou Form3 dans Form1.
Et Ajouter les lignes suivantes dans Form1
Public Class Form1 Dim f2 As Form2 Dim f3 As Form3 Private Sub Form2ToolStripMenuItem_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Form2ToolStripMenuItem.Click If Not IsNothing(f3) Then f3.Hide() End If If Not IsNothing(f2) Then f2.Show() Else f2 = New Form2() f2.TopLevel = False 'LA Ligne Importante ! Panel1.Controls.Add(f2) f2.Dock = DockStyle.Fill f2.FormBorderStyle = Windows.Forms.FormBorderStyle.None f2.Show() End If End Sub Private Sub Form3ToolStripMenuItem_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Form3ToolStripMenuItem.Click If Not IsNothing(f2) Then f2.Hide() End If If Not IsNothing(f3) Then f3.Show() Else f3 = New Form3() f3.TopLevel = False 'LA Ligne Importante ! Panel1.Controls.Add(f3) f3.Dock = DockStyle.Fill f3.FormBorderStyle = Windows.Forms.FormBorderStyle.None f3.Show() End If End Sub End Class
Et voili !
Bon Week-End à tous !