从另一个线程C#更改TreeView路径

时间:2014-02-16 02:11:10

标签: c# winforms treeview

如何从不同的线程更新树视图?我的树视图就像资源管理器一样,使用户可以选择不同的父文件夹。当我尝试从不同的UI更改父级时,没有任何反应,猜测因为它使用不同的线程。 我已经阅读了多个例子来解释'Invoke'和委托的使用,但无法使其正常工作。

1 个答案:

答案 0 :(得分:0)

尝试这样做。必须将执行上下文封送到UI线程。

treeView.HandleCreated += (s, a) => {
     treeView.Invoke(new Action(() => treeView.Nodes.Clear()));
};

另外,请使用调用控件的Invoke方法从上下文菜单select事件中尝试此操作。

Invoke(new Action(() => treeView.Nodes.Clear()));