在该控件上执行的操作正从错误的线程调用。使用 Control.Invoke 或 Control.BeginInvoke 封送到正确的线程才能执行此操作
这是跨线程调用控件所致,以往treeView中动态添加节点为例。
可把
this.treeView.Nodes.Add(subNode);
改为:
this.treeView.Invoke(new Action(() => { parentNode.Nodes.Add(subNode); }));
本文介绍了解决跨线程调用控件时出现的错误问题,通过使用Invoke方法来确保在正确的线程上执行操作。以动态添加treeView节点为例,展示了如何正确地进行跨线程调用。
这是跨线程调用控件所致,以往treeView中动态添加节点为例。
可把
this.treeView.Nodes.Add(subNode);
改为:
this.treeView.Invoke(new Action(() => { parentNode.Nodes.Add(subNode); }));
2706

被折叠的 条评论
为什么被折叠?