欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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);
}

 

 

相关标签: C# winform