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.

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top