2010-07-26 35 views
0

J'ai un TreeView avec un tas de nœuds enfants, tous ayant leurs propres nœuds enfants.Comment faire un contrôle suivre son parent dans un TreeView défilant?

Un utilisateur m'a demandé de fournir la complétion automatique lors de l'édition de l'un des «TreeNodes» de «petitchild», donc j'ai dû implémenter un TextBox flottant qui se trouve directement sur le TreeNode.

Problème: si l'utilisateur fait défiler le TreeView avec son bouton du milieu de la souris lors de l'édition de la TextBox, il voit le TreeView défiler pendant que le TextBox reste en place. Ceci, malgré le fait que j'ai parenté le TextBox à TreeView.

Alors, quelle propriété ou quel événement de TreeView puis-je accéder pour que TextBox suive tous les autres nœuds de TreeView quand l'utilisateur le fait défiler?

Remarque: Je n'utilise pas WPF. (Normalement je le ferais, mais je modifie un projet pré-existant.)

+0

En fait, je vais juste dériver de TextBox, et ajouter une méthode personnalisée MouseWheel à l'événement TreeView qui appellera simplement le code que j'utilise pour placer correctement le TextBox. – MiloDC

Répondre

1

Il pourrait être plus facile de dériver de TreeView et de surcharger la fonction OnMouseWheel. Là vous pouvez cacher le TextBox ou le déplacer pour suivre votre TreeNode en mouvement. Ce article fait quelque chose de similaire à ce que vous essayez de faire mais avec un DropDown. Il cache le contrôle dans OnMouseWheel.