如何从不同的线程更新树视图?我的树视图就像资源管理器一样,使用户可以选择不同的父文件夹。当我尝试从不同的UI更改父级时,没有任何反应,猜测因为它使用不同的线程。 我已经阅读了多个例子来解释'Invoke'和委托的使用,但无法使其正常工作。
答案 0 :(得分:0)
尝试这样做。必须将执行上下文封送到UI线程。
treeView.HandleCreated += (s, a) => {
treeView.Invoke(new Action(() => treeView.Nodes.Clear()));
};
另外,请使用调用控件的Invoke方法从上下文菜单select事件中尝试此操作。
Invoke(new Action(() => treeView.Nodes.Clear()));