6 Stimmen

C# Windows Form TreeView Sortieren nach LabelEdit

Nachdem die Beschriftung eines Knotens im Baum bearbeitet wurde, versuche ich, die Knoten neu zu sortieren, um das aktualisierte Element an der richtigen Stelle zu platzieren. Ich tue dies durch den Aufruf von .Sort im AfterLabelEdit-Ereignishandler, der eine Endlosschleife verursacht.

Wie kann ich die Knoten in einer Baumansicht neu sortieren, nachdem eine Beschriftung geändert wurde?

10voto

m_collard Punkte 1934

Verwenden Sie BeginInvoke mit einem MethodInvoker-Delegaten, anstatt einen eigenen Delegaten zu deklarieren.

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

7voto

Crispy Punkte 5477

Verwenden Sie BeginInvoke:

    delegate void sort();

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X