Bonjour,
Actuellement je gère un TreeView dans mon Form qui est remplie directement depuis un Dico. Le dico est remplie en amont par une Classe Unite avec le propriétés suivante (Name, LengthTutu, LengthTiti, LenghtToto). La clé de mon dico est le Name de ma classe et ce qui est remplie dans mon TreeView est le Name de ma classe. Je souhaite maintenant réaliser l'ouverture d'une infobulle lorsque je passe ma souris sur l'une de mes branches de mon TreeView qui va directement prendre le Name de ma branche, aller dans mon dico avec la clé qui se trouve etre le Name de ma branche et m'afficher dans mon infobulle les propriétés LengthTutu, LengthTiti et LenghtToto qui se situe dans ma classe qui se trouve dans mon dico.
Voila mon programme qui marche et m'affiche dans mon TreeView la liste qui se trouve dans mon Dico :
Voila mes 3 principales procédures qui sont exécutées lors d'un appui sur un bouton, la premier permet de rafraichir mon Dico a chaque nouvelle appuie sur le bouton, la seconde permet d'importer des images dans la ListImage de mon TreeView et la dernière permet de gérer l'affichage des images en fonction de certain critere ainsi que le remplissage de mon Treeview.
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 Public Sub TriUnite() DicoUnite.Clear() For Each mAlarme As Alarme In DicoAlarme.Values If DicoUnite.ContainsKey(mAlarme.Location) = False Then Dim mUnite As New Unite mUnite.Name = mAlarme.Location DicoUnite.Add(mUnite.Name, mUnite) If mAlarme.Priority = "Urgent" Then DicoUnite(mAlarme.Location).LengthUrgent += 1 ElseIf mAlarme.Priority = "High" Then DicoUnite(mAlarme.Location).LengthHigh += 1 ElseIf mAlarme.Priority = "Low" Then DicoUnite(mAlarme.Location).LengthLow += 1 End If Else If mAlarme.Priority = "Urgent" Then DicoUnite(mAlarme.Location).LengthUrgent += 1 ElseIf mAlarme.Priority = "High" Then DicoUnite(mAlarme.Location).LengthHigh += 1 ElseIf mAlarme.Priority = "Low" Then DicoUnite(mAlarme.Location).LengthLow += 1 End If End If Next End Sub Public Sub RemplireListImageTreeView() Dim myImageList As New ImageList() myImageList.Images.Add(DicoImageBis.Item("Image0")) myImageList.Images.Add(DicoImageBis.Item("Image2")) myImageList.Images.Add(DicoImageBis.Item("Image4")) FenGestionnaire.TreeViewUnite.ImageList = myImageList End Sub Public Sub RemplireLocationUnite() Dim NiveauUrgent As Boolean = False Dim NiveauHigh As Boolean = False Dim NiveauLow As Boolean = False FenGestionnaire.TreeViewUnite.Nodes.Clear() FenGestionnaire.TreeViewUnite.Nodes.Add("Simulateur", "Simulateur") FenGestionnaire.TreeViewUnite.Nodes("Simulateur").ImageIndex = 0 FenGestionnaire.TreeViewUnite.Nodes("Simulateur").SelectedImageIndex = 0 For Each mUnite As Unite In DicoUnite.Values FenGestionnaire.TreeViewUnite.Nodes("Simulateur").Nodes.Add(mUnite.Name, mUnite.Name & "(" & mUnite.LengthUrgent + mUnite.LengthHigh + mUnite.LengthLow & ")") If mUnite.LengthUrgent > 0 Then NiveauUrgent = True FenGestionnaire.TreeViewUnite.Nodes("Simulateur").Nodes(mUnite.Name).ImageIndex = 0 FenGestionnaire.TreeViewUnite.Nodes("Simulateur").Nodes(mUnite.Name).SelectedImageIndex = 0 ElseIf mUnite.LengthHigh > 0 Then NiveauHigh = True FenGestionnaire.TreeViewUnite.Nodes("Simulateur").Nodes(mUnite.Name).ImageIndex = 1 FenGestionnaire.TreeViewUnite.Nodes("Simulateur").Nodes(mUnite.Name).SelectedImageIndex = 1 ElseIf mUnite.LengthLow > 0 Then NiveauLow = True FenGestionnaire.TreeViewUnite.Nodes("Simulateur").Nodes(mUnite.Name).ImageIndex = 2 FenGestionnaire.TreeViewUnite.Nodes("Simulateur").Nodes(mUnite.Name).SelectedImageIndex = 2 End If Next If NiveauUrgent = True Then FenGestionnaire.TreeViewUnite.Nodes("Simulateur").ImageIndex = 0 FenGestionnaire.TreeViewUnite.Nodes("Simulateur").SelectedImageIndex = 0 ElseIf NiveauHigh = True Then FenGestionnaire.TreeViewUnite.Nodes("Simulateur").ImageIndex = 1 FenGestionnaire.TreeViewUnite.Nodes("Simulateur").SelectedImageIndex = 1 ElseIf NiveauLow = True Then FenGestionnaire.TreeViewUnite.Nodes("Simulateur").ImageIndex = 2 FenGestionnaire.TreeViewUnite.Nodes("Simulateur").SelectedImageIndex = 2 End If End Sub
Voila ma classe Unite:
Merci d'avance pour vos suggestions.
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 Public Class Unite Private msName As String Private msLengthUrgent As Integer Private msLengthHigh As Integer Private msLengthLow As Integer Public Property Name() As String Get Return msName End Get Set(ByVal value As String) msName = value End Set End Property Public Property LengthUrgent() As Integer Get Return msLengthUrgent End Get Set(ByVal value As Integer) msLengthUrgent = value End Set End Property Public Property LengthHigh() As Integer Get Return msLengthHigh End Get Set(ByVal value As Integer) msLengthHigh = value End Set End Property Public Property LengthLow() As Integer Get Return msLengthLow End Get Set(ByVal value As Integer) msLengthLow = value End Set End Property End Class
PS: J'ai aucune idée de comment faire une infobulle et je vais commencer a regarder de mon coté.
Partager