Question

J'utilise un contrôle Windows Forms TreeView dans mon programme. Je voudrais permettre à l'utilisateur de sélectionner plusieurs noeuds au même niveau en faisant glisser leur pointeur de la souris autour (également appelé une sélection « lasso »). Je ne pense pas TreeView standard permet cela.

Ma question est quelle serait la meilleure façon d'y parvenir? Est-ce que je dois écrire le comportement de sélection personnalisée de mes propres dans peut-être un contrôle personnalisé ou dérivé? Où dois-je commencer?

Je ne suis pas besoin d'une explication détaillée. Juste un petit coup de pouce dans la bonne direction.

Était-ce utile?

La solution

Ce ne va pas être facile à faire avec un contrôle standard WinForms de TreeView. Le contrôle de TreeView ne supporte que seule sélection par arbre. Il est impossible de sélectionner simultanément plusieurs noeuds dans l'arborescence.

Pour obtenir ce comportement, vous finirez probablement par avoir besoin de créer une classe très similaire à TreeView qui a permis à la sélection multiple. Une autre option consiste à tirer de TreeView et permettre la sélection multiple en remplaçant les comportements spécifiques. Voici un article sur la façon de faire de celle-ci.

Autres conseils

Envisager d'appliquer la sélection multiple dans un contrôle qui prend en charge la sélection multiple comme listview. Si vous suivez les normes que la plupart des utilisateurs de Windows comprennent vous vous retrouverez avec une solution qui est plus facile à mettre en œuvre et plus facile à utiliser.

Si vous avez vraiment besoin de quelque chose que vous développiez devrez peut-être envisager d'élaborer un contrôle personnalisé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top