bonjour !
J'aimerai pouvoir afficher le premier noeud d'un arbre sachant qu'il y a plusieurs noeuds racines. Je m'explique avec un exemple :
donc, dans cet exemple simplifié, j'ai deux noeuds racines : noeud1 et noeud2.
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 -noeud1 -noeud11 -noeud 111 -noeud 112 -noeud 113 ...etc. -noeud12 -noeud13 -noeud14 -noeud2 -noeud21 -noeud21 -noeud21 -noeud21 -noeud21 -noeud21 -noeud21 ....etc.
Imaginez maintenant que dans noeud2, il y a une cinquantaine d'enfants. j'ai fait en sorte que lorsque je déploie le noeud2 (expandAll() ) le noeud1 se referme (collapseAll() ). Seulement -et là se trouve la bizarrerie - neoud1 n'est plus affiché. C'est Noeud2 qui se retrouve en haut du control. Hors, j'aimerai qu'il le soit tout le temps, cet andouille de Noeud1.
J'ai tout essayé, du EnsureVisible() au TreeView.SelectedNode = Noeud1 en passant par une simulation du OnMouseWheel(e) pour remonter l'ascenseur, mais rien n'y fait ! J'ai d'ailleur remarqué que c'est un comportement générale de Windows. Ne serait-ce que dans VS2005, lorsqu'on déploie l'arbre de l'explorateur de projet avec de nombreux enfant, le "cadre" du treeview se cale sur le noeud que l'on vient de déployer...
voilà, en espérant avoir été clair, et si quelqu'un a une nouvelle piste... merci !
Partager