Selezione multipla in un TreeView
-
13-09-2019 - |
Domanda
Sto usando un controllo TreeView
Windows Form nel mio programma. Vorrei consentire all'utente di selezionare più nodi allo stesso livello trascinando il puntatore del mouse (chiamato anche un "laccio" di selezione). Non credo che un TreeView
standard consente questo.
La mia domanda è quale sarebbe il modo migliore per raggiungere questo obiettivo? Devo scrivere comportamento di selezione personalizzata del mio in forse un costume o di controllo derivato? Da dove comincio?
Non ho bisogno di una spiegazione dettagliata. Solo una piccola spinta nella giusta direzione.
Soluzione
Questo non sta per essere facile da fare con un controllo WinForms TreeView
standard. Il controllo TreeView
supporta solo un'unica selezione per pianta. Non è possibile selezionare contemporaneamente più nodi dell'albero.
Al fine di ottenere questo comportamento si sarebbe probabilmente finire che necessitano di creare una classe molto simile a TreeView
che ha permesso per la selezione multipla. Un'altra opzione è quella di derivare da TreeView
e abilitare la selezione multipla sovrascrivendo comportamenti specifici. Ecco un articolo su come fare il secondo.
Altri suggerimenti
Considerare l'implementazione di selezione multipla in un controllo che supporta la selezione multipla come ListView. Se si seguono gli standard che la maggior parte degli utenti di Windows capiscono vi ritroverete con una soluzione che è più facile da implementare e facile da usare.
Se si ha realmente bisogno di qualcosa di più elaborato che potrebbe essere necessario prendere in considerazione lo sviluppo di un controllo personalizzato.