Bonjour à tous,
je n'arrive pas à écrire une procédure correcte pour gérer l'affichage des fenêtres MDIChild à partir du contrôle TreeView de la fenêtre MDIparent. Ca fonctionne si je clique à la souris sur le TreeView mais ma procédure doit pouvoir aussi être appelé depuis le code et c'est la que j'ai un problème car mon contrôle TreeView reste sur la sélection précédente. Il faudrait arriver à déselectionner le SelectedNode du TreeView ou faire différemment si vous avez une meilleure solution.

Chaque propriété TreeNode.text contient le nom de la Fenêtre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
Private Sub XProject_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
     frmProjets.MdiParent = Me
     frmTaches.MdiParent = Me
End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Private Sub TreeView1_AfterSelect(sender As Object, e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
            Call ShowForm(TreeView1.SelectedNode.Text)
End Sub
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
 
Public Sub ShowForm(ByVal ModuleName As String)
        For Each f As Form In Me.MdiChildren
            f.Hide()
        Next
 
        Select Case ModuleName
            Case Is = "Projets"
                With frmProjets
                    .WindowState = FormWindowState.Maximized
                    .Show()
                    .BringToFront()
                    .Activate()
                End With
            Case Is = "Taches"
                With frmTaches
                    .WindowState = FormWindowState.Maximized
                    .Show()
                    .BringToFront()
                    .Activate()
                End With
        End Select
End Sub
Merci beaucoup si vous pouvez m'aider.