Bonjour le Forum,
Dans un formulaire, j'ai chargé une classe ImageList, avec 5 images:
1ère : Logo Excel
2ème : Logo Word
3ème : Image Forward (traitement sélectionné)
4ème : Image World
5ème : Image Billboard
Je créé dynamiquement le TreeView1, puis les nodes.
Sub InitializeTreeView()
Dim names As New List(Of String) From {"Création Plan de Production", _
"Création Consignes Client", _
"Création Consignes Client (Delta)", _
"Création Consignes SAVEMUTU"}
Treeview1.BeginUpdate()
Treeview1.Nodes.Add("Choix du traitement")
Treeview1.Location = New Point(15, 100)
Treeview1.Size = New Size(600, 1200)
Treeview1.BorderStyle = BorderStyle.None
Treeview1.BackColor = Color.NavajoWhite
Treeview1.Font = New Font("Arial", 12, FontStyle.Underline)
Treeview1.ImageList = ImageList1
Treeview1.ImageIndex = 4
Treeview1.SelectedImageIndex = 4
For Each item As String In names
Dim newnode As New TreeNode
newnode.Text = item
newnode.NodeFont = New Font("Arial", 12, FontStyle.Italic)
Treeview1.Nodes(0).ImageIndex = 3
Treeview1.Nodes(0).SelectedImageIndex = 3
Treeview1.Nodes(0).Nodes.Add(newnode)
Next
Treeview1.ExpandAll()
Me.Controls.Add(Treeview1)
Treeview1.EndUpdate()
End Sub
Private Sub InitializeNodePDP()
' Déclaration des variables
Dim arrLine As New List(Of String)
Dim parts() As String
' Creation d'un tableau contenant toutes les lignes du fichier config .ini
arrLine = System.IO.File.ReadAllLines(PathTeam & PathConfig & FileConfig, _
System.Text.Encoding.Default).ToList
' Parcours du tableau
For Each items As String In arrLine
Dim MyCustomer As String
' Split sur vbtab pour récupérer le nom du client et les colonnes du Plan de Production
parts = items.Split(New Char() {Convert.ToChar(Keys.Tab)}, StringSplitOptions.RemoveEmptyEntries)
If UBound(parts) = 1 Then
MyCustomer = Replace(parts(0), Chr(64), vbNullString)
Treeview1.Nodes(0).Nodes(0).ImageIndex = 4
Treeview1.Nodes(0).Nodes(0).SelectedImageIndex = 0
Treeview1.Nodes(0).Nodes(0).Nodes.Add(MyCustomer)
End If
Next
Treeview1.ExpandAll()
End Sub
Mon souci, ce sont les images, je souhaiterai que :
- que le TreeView (Choix du traitement) ait toujours la 4ème image (World);
- que les Nodes (Création ...) ait toujours la 5ème image (Billboard);
- que dans le node fils (Client 1, Client 2 ....) je permute au clic sur les images 3 (Forward) et 0 (Logo Excel).
Soit, par rapport à l'image :
World (Choix du traitement)
Billboard (Création Plan de Production)
Logo Excel (Client 1 non sélectionné)
Forward (Client 2 sélectionné)
Logo Excel (Client 3 non sélectionné)
Billboard (Création Consignes ...)
Billboard (Création Consignes ...)
Billboard (Création Consignes ...)
Je n'arrive pas à figer les images du "Choix du traitement" et des "Création ...".
Merci pour vos suggestions,
jean-marc
Effectivement, en suivant tes conseils avisés, j'obtiens le résultat souhaité.
Merci et bonne journée,
@+
jean-marc