/ / Mappatura dei nodi TreeView in winform - .net, winforms, treeview, mapping

Mappatura del nodo TreeView in winform - .net, winforms, treeview, mapping

Ho un controllo treeview, ed è il nodo figliomappato all'elemento in un elenco, quando l'elemento nello stato dell'elenco cambia, devo aggiornare il nodo treeview corrispondente, inoltre, quando l'utente seleziona un treenode, posso mappare all'elemento nell'elenco, qual è il modo migliore per registrare la mappatura?

risposte:

3 per risposta № 1

Se è il WinForms TreeView standard, puoi usare il Proprietà tag su ciascun nodo per memorizzare un riferimento alla voce di elenco corrispondente.

Se si utilizza anche un ListView, ogni ListViewItem ha anche un Proprietà tag che può essere utilizzato per fare riferimento al treenode corrispondente.

L'uso della proprietà Tag di TreeNodes e ListVIewItems consente di implementare facilmente una sincronizzazione a 2 vie tra di loro.

Queste proprietà dei tag sono di tipo object, quindi tupuò effettivamente archiviare tutto ciò di cui hai bisogno. Nel tuo caso, quando l'utente modifica un oggetto ListViewItem, devi prima ottenere la proprietà Tag, lanciarla su un oggetto TreeNode e aggiornare lo stato di TreeNode come richiesto.

Lo stesso processo si applica al contrario quando un utente modifica un elemento TreeNode.

[Aggiornare]

Nelle interfacce utente un controllo ad albero e un elencoil controllo sembra andare di pari passo su molti schermi. Tuttavia, in Windows Form TreeView e ListView (o List) sono controlli completamente separati che non devono necessariamente essere utilizzati insieme. Pertanto non esiste un modo integrato per sincronizzare questi controlli tra loro. La proprietà Tag e / o eventi sono gli approcci più comuni alla sincronizzazione tra questi controlli.


1 per risposta № 2

Non ricordo se questo ha funzionato in modo specifico con il controllo TreeView in Winforms, ma http://updatecontrols.net/ è una semplice configurazione di associazione dei dati che rende gli aggiornamenti estremamente rapidi e senza intoppi. Dovresti prendere un picco.