Bonjour,
Je développe actuellement une application en C# sous Windows XP et dans laquelle figure une fenêtre de hiérarchie, avec un TreeView. Elle me permet de lister différents objets sur lesquels je travaille.
À chaque type d'objet, j'associe une icône en utilisant le code suivant :
Jusque là, tout va bien. Sauf que je souhaite que mon application utilise les styles visuels pour avoir des boutons un peu plus sympas que ceux par défaut. J'ajoute donc cette ligne-là :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 hierarchyTreeView = new TreeView(); hierarchyIcons = new ImageList(); hierarchyIcons.Images.Add(Image.FromFile("icon1.gif")); hierarchyIcons.Images.Add(Image.FromFile("icon2.gif")); hierarchyIcons.Images.Add(Image.FromFile("icon3.gif")); ... hierarchyTreeView.ImageList = hierarchyIcons; hierarchyForm.Controls.Add(hierarchyTreeView);
Et là, gros souci : les nœuds de ma hiérarchie n'ont plus du tout d'icône !
Code : Sélectionner tout - Visualiser dans une fenêtre à part Application.EnableVisualStyles();
J'ai testé ceci en ayant les styles visuels d'activés :
mais ça ne fonctionne pas mieux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part e.Node.ImageUrl="Custom.jpg";
Pensant que ça pouvait venir de mon thème, j'ai aussi tenté de rétablir le thème de Windows par défaut mais rien à faire, les icônes du TreeView disparaissent à compter du moment où j'ai fait EnableVisualStyles. Ça ne vient donc pas du thème. Sachant que dans l'explorateur Windows, on retrouve bien des icônes en regard de chaque TreeNode, je me dis qu'il doit bien exister un façon de contourner ce problème.
Est-ce que vous sauriez du coup comment avoir les styles visuels d'actifs ET des icônes pour chaque noeud des TreeViews ?
Merci d'avance pour vos réponses.
Partager