Ho un'applicazione Winform dove sto usando TreeView. Alcuni utenti di questa applicazione hanno un problema che devono fare doppio clic su un nodo per espanderlo. Così ho aggiunto questo codice da utilizzare solo clic per espandere i nodi:Comportamento di clic sul nodo Treeview
Private Sub MyTreeView_NodeMouseClick(sender As System.Object,
e As System.Windows.Forms.TreeNodeMouseClickEventArgs) Handles MyTreeView.NodeMouseClick
If e.Node.IsExpanded Then
e.Node.Collapse()
Else
e.Node.Expand()
End If
End Sub
Questo funziona, ma ho notato un comportamento strano per quanto riguarda clic su un nodo. Ho notato che ci sono 2 posti con un comportamento diverso. Il primo posto è con +/- simbolo e puntini accanto ad essa (primo cerchio nella foto), il secondo posto è un testo del nodo (secondo cerchio):
Normalmente semplice clic sul primo posto è sufficiente espandere il nodo e fare doppio clic sul secondo posto per espandere il nodo. Quindi, quando uso il mio codice, basta un clic sul secondo posto per espandere il nodo, ma quando faccio clic singolo sul primo punto, il nodo viene espanso e collassato.
Perché l'utente deve eseguire altri due clic sul secondo posto per espandere il nodo? Cosa posso fare per espandere i nodi con un solo clic su entrambi i posti? Grazie ragazzi!
Il mio piano era quello di verificare coordinate X, Y e calcolare se le coordinate appartengono alla +/- o al testo del nodo. Non conoscevo il metodo HitTest e TreeViewHitTestLocations. Grazie! – DanielH