J'essaie de créer un explorateur de dossiers en utilisant le contrôle TreeView. maintenant, j'ai ajouté une ImageList avec deux images - une pour un dossier et l'autre pour le dossier sélectionné. J'ai utilisé l'événement 'BeforeExpand' pour changer l'icône du nœud actuel (dossier). Le problème est que je ne sais pas comment le changer lorsque l'utilisateur sélectionne un autre dossier ... quel événement puis-je utiliser? Peut-être que je ne l'utilise pas correctement ...?Contrôle des images de noeuds dans un TreeView
Répondre
Je pense que vous devez garder une référence du dernier nœud étendu, de sorte que vous pouvez ensuite le modifier
hmm Je ne sais pas si je comprends bien, mais en fait, dans un contexte d'explorateur de dossier, si l'utilisateur Développe un autre noeud, vous n'avez pas besoin d'effectuer d'action spécifique sur le noeud que vous avez précédemment développé. Si l'utilisateur clique de nouveau dessus, vous pouvez utiliser l'événement BeforeCollapse pour le modifier. Cela correspondrait-il à vos besoins?
Je suppose que vous ne voulez modifier l'image TreeNode que lorsqu'un nœud donné est sélectionné. Et je ne vais pas traiter ici de la question d'afficher des icônes de dossier pour chaque TreeNode avec des nœuds enfants: je pense que si vous comprenez ce qui se passe ici, vous n'aurez aucun problème à ajouter une (troisième) image et à bonne chose "pour rendre les dossiers explicites: et puis vous pouvez étendre cela, si vous le souhaitez, de sorte que les nœuds avec" no child nodes "peuvent avoir des icônes différentes pour sélectionné/non sélectionné.
(1 ajouter un ImageList à votre formulaire avec deux images: l'image avec l'index # 0 sera la valeur par défaut (non sélectionné) image TreeNode
(2 ajouter un AfterSelect gestionnaire d'événements à votre TreeView:. Changer son image à la « sélectionnée » image
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
e.Node.SelectedImageIndex = 1;
}
Vous remarquerez que le nœud sélectionné est modifié:.. l'image TreeNode précédemment sélectionnée revient automatiquement à utiliser son image par défaut (index # 0 dans le ImageList)
Note: à mon avis, il est important qu'il re à distinguer entre l'expansion d'un TreeNode dans un TreeView et la sélection d'un TreeNode dans un TreeView: vous pouvez développer n'importe quel TreeNode (avec des nœuds enfants) en cliquant sur l'icône "+": mais cela ne le sélectionnera pas. Le double-clic va, bien sûr, à la fois Expand et Select.
- 1. Masquage des noeuds ASP.NET SiteMap dans le contrôle TreeView
- 2. Afficher la liste des noeuds dans un TreeView
- 3. Noeuds personnalisés TreeView
- 4. MVVM avec TreeView - ajouter des noeuds
- 5. Problème de contrôle TreeView
- 6. Windows Forms .NET 3.5 en utilisant des images de ressources pour un contrôle Treeview
- 7. TreeView charge uniquement les noeuds supérieurs
- 8. modèle propre pour les noeuds de feuilles dans un WPF TreeView avec des niveaux inconnus
- 9. TreeView problème de contrôle
- 10. Contrôle TreeView dans ASP .NET
- 11. Contrôle Treeview dans ASP .net
- 12. Trouver contrôle ItemTemplate dans TreeView
- 13. Contrôle TreeView Asp.net - nombre maximal de nœuds
- 14. Ambigu Référence Dans TreeView contrôle
- 15. ensemble et contrôle TreeView
- 16. Remplissage d'un contrôle TreeView
- 17. Pouvez-vous lier des données à un contrôle TreeView?
- 18. ajoutant des nœuds enfants à un contrôle TreeView WPF, C#
- 19. Treeview OnClick gère les images
- 20. Contrôle Treeview Développer
- 21. MFC Treeview: Comment appliquer des images différentes à différents nœuds dans Treeview?
- 22. .NET TreeView n'affichera pas les images
- 23. Comment lier l'attribut XML aux noeuds Treeview, pendant la liaison de données XDocument à WPF Treeview
- 24. XAML Treeview, comment les noeuds affichés horizontalement plutôt que verticalement
- 25. Utilisation d'images de ligne personnalisées dans le contrôle TreeView d'Asp.Net
- 26. nœud cacher dans le contrôle TreeView
- 27. Silverlight TreeView dans ComboBox (ou juste un contrôle déroulant personnalisé)
- 28. Problème avec les images sur TreeView
- 29. ASP.Net TreeView Expand/Réduire tout ne fonctionne pas lorsque les icônes de noeuds sont présents
- 30. Tile Images dans Silverlight Contrôle
est ce wpf ou winforms? – Mathias