IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Appel d'une fenêtre fille à partir d'un fenêtre parente


Sujet :

VB.NET

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 132
    Points : 43
    Points
    43
    Par défaut Appel d'une fenêtre fille à partir d'un fenêtre parente
    Dans une application vb.net 2005 dont un Formulaire parent MDI(Form0) et 2 Windows form(Form1 et Form2),j'ai ajouter un contrôle MenuStrip avec lequel je peux appeler les 2 fenetres filles.

    le code du premier Menu "Fenêtre 1" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Form1.MdiParent = Me
            Form1.Show()
    le code de la deuxième Menu "Fenêtre 2" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Form2.MdiParent = Me
            Form2.Show()
    Ensuite j'ai ajouté un contrôle Button(Button1) sur la fenêtre (Form1),et je vaudrais une fois si je clique sur ce boutton d'afficher la fenêtre(Form2) si cette dernière n'ai pas déjà ouverte sinon l'activer.

    Autre chose je vaudrais un programme qui permet de fermer une fenêtre fille active à partir d'un appel d'un menu 'Fermer'.

    merci

  2. #2
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 442
    Points
    4 442
    Par défaut mdi fenetre,festion des fenetres enfants
    bonjour
    voici un bout de code sur la gestion des fenetres enfants qui j'espere repondra à tes attentes..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
     
    'Fenetre MDI 
    'un composant MainMenu boite à outils
    'item Fichier
    '2 sous items Nouveau et Fermer
    'item Fenetres
    '2 sous items Cascade et Horizontal
    Public Class frmMDI
        'cree un nouveau enfant Form1
        Private Sub MenuItemNouveau_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItemNouveau.Click
            Dim NouvEnfantMDI As New Form1()
            'Definit la Forme parente de la Forme Enfant.
            NouvEnfantMDI.MdiParent = Me
            'Affiche la  Forme Enfant
            NouvEnfantMDI.Show()
        End Sub
        'Ferme l'enfant actif 
        'Il faut ajouter un focus pour attirer la "vue" de l'user
        'et un message d'avertissement
        Private Sub MenuItemFermer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItemFermer.Click
            ' recherche l'enfant actif.
            Dim actifEnfant As Form = Me.ActiveMdiChild
            Dim reponse As MsgBoxResult
            If (Not actifEnfant Is Nothing) Then
                actifEnfant.Focus()
                reponse = MsgBox("vous-vous fermer la fenetre :" & actifEnfant.Text, MsgBoxStyle.OkCancel)
                If reponse = MsgBoxResult.Ok Then
                    actifEnfant.Close()
                End If
            End If
        End Sub
        Private Sub MenuItemFenCascade_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItemFenCascade.Click
            Me.LayoutMdi(System.Windows.Forms.MdiLayout.Cascade)
        End Sub
     
        Private Sub MenuItemFenHorizontal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItemFenHorizontal.Click
            Me.LayoutMdi(System.Windows.Forms.MdiLayout.TileHorizontal)
        End Sub
    End Class
     
    'Form1 ouvre simplement Form2
    Public Class Form1
     
        Private Sub btnAfficheForme2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAfficheForme2.Click
            Dim NouvEnfantMDI As New Form2()
            'Definit la Forme parente de la Forme Enfant Form2.
            NouvEnfantMDI.MdiParent = frmMDI
            'Affiche la  Forme Enfant Form2
            NouvEnfantMDI.Show()
        End Sub
    End Class
     
    'Form2  plus complique
    'Form2  peut afficher Form1
    'Form2  peut fermer Form1 s'il est afficher
    '
    Public Class Form2
     
        Private Sub btnFermeForme1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFermeForme1.Click
            ' recherche form1 et le ferme s'il est ouvert
            Dim boolTrouve As Boolean = False
            For I As Integer = 0 To (frmMDI.MdiChildren.Length) - 1
                If frmMDI.MdiChildren(I).Name = Form1.Name Then
                    boolTrouve = True
                    Dim reponse As MsgBoxResult
                    reponse = MsgBox("vous-vous fermer la fenetre :" & frmMDI.MdiChildren(I).Text, MsgBoxStyle.OkCancel)
                    If reponse = MsgBoxResult.Ok Then
                        frmMDI.MdiChildren(I).Close()
                        Exit For
                    End If
                End If
            Next
            If Not boolTrouve Then
                MessageBox.Show("pas de Fenetre Form1 ouverte...")
            End If
     
        End Sub
     
        Private Sub btnAfficheForme1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAfficheForme1.Click
            'Rcherche Form1 et l'affiche s'il n'est pas deja affiche
            Dim boolTrouve As Boolean = False
            Dim formeTrouve As Form = Nothing
            For I As Integer = 0 To (frmMDI.MdiChildren.Length) - 1
                If frmMDI.MdiChildren(I).Name = Form1.Name Then
                    boolTrouve = True
                    formeTrouve = frmMDI.MdiChildren(I)
                    Exit For
                End If
            Next
            If boolTrouve Then
                If Not formeTrouve.Visible Then
                    Dim reponse As MsgBoxResult
                    reponse = MsgBox("Afficher Fenetre :" & formeTrouve.Text, MsgBoxStyle.OkCancel)
                    If reponse = MsgBoxResult.Ok Then
                        formeTrouve.Show()
                    End If
                Else
                    MessageBox.Show("Fenetre :" & formeTrouve.Text & " est deja affiche...")
                End If
            Else
                Dim reponse As MsgBoxResult
                reponse = MsgBox("Form1 n'est pas affiché. Vous-vous l'afficher", MsgBoxStyle.OkCancel)
                If reponse = MsgBoxResult.Ok Then
                    Dim NouvEnfantMDI As New Form1()
                    'Definit la Forme parente de la Forme Enfant Form1.
                    NouvEnfantMDI.MdiParent = frmMDI
                    'Affiche la  Forme Enfant Form1
                    NouvEnfantMDI.Show()
                End If
            End If
     
        End Sub
    End Class
    bon code....

Discussions similaires

  1. Réponses: 39
    Dernier message: 25/02/2014, 17h22
  2. Réponses: 8
    Dernier message: 25/09/2013, 21h38
  3. Réponses: 2
    Dernier message: 24/09/2007, 16h06
  4. Réponses: 4
    Dernier message: 28/07/2006, 14h01
  5. [EJB+JSP+Tomcat] Appel d'une page JSP à partir d'un bean
    Par Hakkou dans le forum Tomcat et TomEE
    Réponses: 8
    Dernier message: 02/06/2004, 15h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo