Rechercher : dans
Par :

[VB] Afficher un Form

Dernière réponse le 24 déc 2008 à 14:58:40 Radek, le 16 aoû 2006 à 11:57:49 
 Signaler ce message aux modérateurs

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.

Meilleures réponses pour « [VB] Afficher un Form » dans :
[VBA] Message pour faire patienter l'utilisateur VoirPetite application pour afficher un message d'attente quand un processus est relativement long. Et en annexe enlever le cadre de l'userForm Introduction L'UserForm Le module public Exemple d'emploi Téléchargement Introduction Un...
Afficher les extensions et les fichiers cachés sous Windows VoirPour afficher les extensions Solution simple Solution avec le registre Pour afficher les fichiers et les dossiers cachés Pour afficher les fichiers et les dossiers système Pourquoi afficher les extensions ? Lorsque vous ne voyez...
[Windows] Affiche l'icône du poste de travail sur le bureau VoirPar défaut, Windows XP n'affiche pas le poste de travail sur le bureau. Il est possible de l'afficher en suivant la procédure suivante : - Cliquer avec le bouton droit sur le bureau - Choisir Propriétés - Dans l'onglet Bureau, choisir...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...

1

Radek, le 18 aoû 2006 à 13:31:37
  • +1

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

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 !

Répondre à Radek

2

mamercus, le 22 mar 2008 à 13:26:54

Salut, s'il vous plais ou je doit déclarer Panel1.
Merci d'avance

Répondre à mamercus

3

 Anonyme, le 24 déc 2008 à 14:58:40
  • +2

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à

Répondre à Anonyme