Domanda

Dopo aver modificato l'etichetta di un nodo nella struttura, provo a ricorrere ai nodi per posizionare l'elemento aggiornato nella posizione corretta. Lo faccio chiamando .Sort nel gestore di eventi AfterLabelEdit che provoca un ciclo infinito.

Come posso ricorrere ai nodi in una treeview dopo che un'etichetta è stata cambiata?

È stato utile?

Soluzione

Usa BeginInvoke:

    delegate void sort();

    private void treeView1_AfterLabelEdit(object sender, NodeLabelEditEventArgs e)
    {
        treeView1.BeginInvoke(new sort(treeView1.Sort));
    }

Altri suggerimenti

Usa BeginInvoke con un delegato MethodInvoker invece di dichiarare il tuo delegato.

private void treeView1_AfterLabelEdit(object sender, NodeLabelEditEventArgs e)
{
    treeView1.BeginInvoke(new MethodInvoker(treeView1.Sort));
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top