Bonjour,
j'ai un souci à l'ouverture de mes formulaires.
En fait j'ai un ToolStripMenuItem avec un menu Initialisation et quelques sous menus...
En fait chaque sous menu ouvre la même fenêtre mes de manière différente: en gros quand je clique sur Zone, le formulaire avec les zones apparait, quand je clique sur Etat, un nouveau formulaire apparait avec la liste des états, ...
Pour le moment, mon code ressemble à ceci:
Ce code est reproduit pour les différents sous menu (seul le .Text change)
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 Private Sub tsmiZone_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsmiZone.Click ' Pour chaque formulaire contenu dans le MDI For Each FZone As Form In Me.MdiChildren ' Si le formulaire est du type frmInitialisation et que son titre est Liste des zones If TypeOf FZone Is frmInitialisation And FZone.Text = "Liste des zones" Then With FZone ' S'il est réduit on l'agrandit If .WindowState = FormWindowState.Minimized Then .WindowState = FormWindowState.Normal End If ' On le met au premier plan .BringToFront() End With ' On quitte la procédure Exit Sub End If Next ' Si aucun formulaire de ce type trouvé, on instancie un nouveau formulaire de type frmInitialisation Dim F As frmInitialisation = New frmInitialisation With F ' F est un enfant de frmMDI .MdiParent = Me ' F a pour titre Liste des zones .Text = "Liste des zones" ' Puis on le fais apparaitre .Show() End With
Ensuite, au chargement du formulaire en question, je charge le ListView en fonction du titre du formulaire(si il y a 'Zone' alors on charge les zones, si il y a 'Etat' alors on charge les états, ...)
Mon code donne ceci:
Mon problème est que lorsque j'ai deux formulaires d'ouvert, lorsque je veux en ouvrir un troisième (du même type mais avec un titre différent), et bien cela ne me change que le titre d'un des deux formulaires déjà ouvert mais sans me changer le contenu du ListViewItem...
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 Friend Sub frmInitialisation_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Me.Text = "Liste des zones" Then For Each Z As ZoneData In o_MonClient.SessionService.ListeZones Dim L As New LVIZone(Z) lvInitialisation.Items.Add(L) Next Exit Sub End If If Me.Text = "Liste des états" Then For Each Et As EtatData In o_MonClient.SessionService.ListeEtat Dim L As New LVIEtat(Et) lvInitialisation.Items.Add(L) Next Exit Sub End If If Me.Text = "Liste des problèmes de l'appel" Then For Each Prob As ProblemeAppelData In o_MonClient.SessionService.ListeProblemeAppel Dim L As New LVIProblemeAppel(Prob) lvInitialisation.Items.Add(L) Next Exit Sub End If End Sub
Pour régler mon souci, j'ai pensé à créer un formulaire pour chaque sous menu mais je me retrouverais avec un grand nombre de formulaire à gérer...
D'où cela pourrait-il venir? et quelle serait la meilleure solution?
Merci par avance à tous de vos réponses...
Partager