Ordinamento TreeView di Windows C # dopo LabelEdit
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?
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