如何从另一个线程更新树视图?我的树视图就像资源管理器,并允许用户选择不同的父文件夹。当我尝试从不同的UI更改父项时,没有任何反应,因为它使用了不同的线程而进行猜测。 我读过多个示例,解释了“调用”和委托的使用,但无法使其工作。从另一个线程更改TreeView路径C#
-1
A
回答
0
试着这样做。执行上下文必须封送到UI线程。
treeView.HandleCreated += (s, a) => {
treeView.Invoke(new Action(() => treeView.Nodes.Clear()));
};
此外,请使用调用控件的Invoke方法从上下文菜单中选择事件。
Invoke(new Action(() => treeView.Nodes.Clear()));
+0
这返回了以下错误:调用或BeginInvoke无法在控件上调用,直到已创建窗口句柄 – matinau
+0
看到我的更新。在树形视图中调用Clear()并没有真正的理由,因为它已经是空的了。我开始认为你的控制权在你认为是没有被创造出来的时候。 – drankin2112
+0
对不起,我只是用'Clear();'作为例子 – matinau
相关问题
- 1. 更新从另一个线程treeview
- 2. android UI从另一个线程更改
- 3. ASP.NET Treeview从路径
- 4. 相对路径从一个线程
- 5. C#的TreeView节点路径
- 6. PyQt - 从另一个线程修改GUI
- 7. 如何从另一个线程在treeview中添加对象
- 8. 更新的JLabel从另一个线程
- 9. 从另一个线程更新UI(progressDialog)
- 10. 从另一个线程javafx更新ImageView
- 11. ProgressBar从另一个线程更新
- 12. 从另一个线程更新UI
- 13. 如何从另一个路径中减去一条路径?
- 14. C对另一个线程
- 15. C#/ WPF从另一个类中创建的另一个线程更新UI
- 16. C#.NET中的线程和交叉线程,如何从另一个线程中更改ComboBox数据?
- 17. 修改从另一个线程类属性在C#
- 18. 从另一个线程修改列表而迭代(C#)
- 19. 线程交互(从一个线程到另一个线程的数据)c#
- 20. 更改视图模型属性从另一个线程
- 21. Python:从另一个线程更改变量值
- 22. 从另一个线程更改用户界面
- 23. WPF C# - 从另一个线程更新进度条
- 24. 从Visual C++ 2008中的另一个线程更新GUI
- 25. 更改路径
- 26. 从另一个线程操作线程
- 27. 从另一个线程运行线程
- 28. 从另一个线程DoDragDrop()
- 29. HttpWebRequests从另一个线程
- 30. 从另一个线程
所有的UI都在应用程序的主线程中运行,除非您自己创建了新线程。 – drankin2112
控件位于用户控件中,该控件用于在AutoCAD中创建工具调色板。工具调色板有它自己的ContextMenu,这是我试图添加方法来改变树视图库等...如果我只是调用treeView.Nodes.Clear();从toolPalette没有任何反应,而这在usercontrol内工作正常。这导致我相信这是一个线程问题 – matinau