C#中不允许UI线程以外的线程访问控件解决办法
程序员文章站
2022-06-10 18:08:48
...
在C#中任何UI以外的线程访问UI中的控件被认为是不安全的
此时 this.InvokeRequired的值就为True
解决办法
创建一个委托,然后调用 Invoke方法
我这里是异步线程对TreeViwe进行操作
//创建带一个参数的委托
delegate void ScanDelegate(string value);
if (this.InvokeRequired)
{
ScanDelegate s = new ScanDelegate(ScacnType);
this.Invoke(s, Code);
}
else
{
ScacnType(Code);
}
上一篇: PHP读取ZIP文件详细信息_PHP教程
下一篇: 查看不同地方的Oracle字符集信息
推荐阅读
-
c#中多线程访问winform控件的若干问题小结
-
c#中多线程访问winform控件的若干问题小结
-
C#中Invoke的用法()-解决子线程访问主线程控件、线程安全等问题
-
C#中不允许UI线程以外的线程访问控件解决办法
-
C# WinForm 线程间操作无效: 从不是创建控件的线程访问它的解决办法
-
C# 子线程中访问主线程中的窗体控件
-
c#关于“线程间操作无效: 从不是创建控件的线程访问它”的另类解决办法!
-
C#的winform中跨线程更新UI,非UI线程更新UI线程中的控件
-
C#中Invoke的用法()-解决子线程访问主线程控件、线程安全等问题
-
C#中Invoke的用法---------多线程操作:线程间操作无效,从不是创建控件的线程访问它