drapa73
Messages postés3Date d'inscriptionvendredi 17 avril 2009StatutMembreDernière intervention20 avril 2009
-
17 avril 2009 à 18:09
drapa73
Messages postés3Date d'inscriptionvendredi 17 avril 2009StatutMembreDernière intervention20 avril 2009
-
20 avril 2009 à 14:17
Bonjour,
Description du problème
Lorsque que mon TreeView contient un seul noeud racine (non développé), celui-ci est invisible à l'affichage. Cependant il est bel et bien là ! Lorsque je double clique sur l'endroit où il devrait être affiché , le noeud apparait et s'étend correctement.
Précisions
- Langage : C#
- Framework .NET 2.0
- Visual Studio 2005
- Le composant est rempli au chargement de la fenetre (méthode Load). Mais le problème est le même s'il est chargé ultérieurement.
Tests effectués
- Le TreeView est correctement chargé. La collection Nodes contient bien le noeud invisible.
- Le fait que le noeud ait des fils ou non ne change rien au problème.
- Si le noeud possède des fils, l'ajout d'un "expand" ou "expandAll" après le chargement ne résout rien.
- TreeView avec deux noeuds racines : l'affichage est correct.
- Comparaison de toutes les propriétés avec un TreeView fonctionnel dans le même cas. Elles sont identiques.
- Comparaison de toutes les propriétés avec un TreeView contenant deux noeuds racines. Elles sont identiques.
- Ajout d'un bouton permettant de supprimer un noeud du TreeView. Lorsque le TreeView contient deux noeuds racines, ceux-ci s'affichent correctement. Après clic sur le bouton (donc suppression d'un des deux noeuds), le seul noeud restant devient invisible (mais est toujours présent !).
- Aucun évenemement pouvant redessiner la fenêtre n'est affiché.
Si vous voyez une solution à ce problème, merci de m'en faire part.
A voir également:
Impossible de visualiser le noeud racine d'un TreeView
drapa73
Messages postés3Date d'inscriptionvendredi 17 avril 2009StatutMembreDernière intervention20 avril 2009 20 avril 2009 à 14:17
Problème résolu !
Cela venait du chargement des images dans le ImageList de la TreeView. Il faut le faire dans le constructeur de la fenêtre pour éviter ce problème et non pas dans la méthode Load.
StructureTreeView.ImageList = new ImageList();
StructureTreeView.ImageList.Images.Add(Properties.Resources.dossier_ouvert);
StructureTreeView.ImageList.Images.Add(Properties.Resources.uf);
//m_control.loadNextLevel(1, "R", null, "");
// Dans ce cas, il y a affichage
TreeNode test = new TreeNode("Noeud1");
TreeNode test1 = new TreeNode("Noued2", 0, 0);
structureTreeView.Nodes.Add(test);
structureTreeView.Nodes.Add(test1);
}