C# WinForm开发中,这是一个比较常见的异常:线程间操作无效,从不是创建控件“xxx”的线程访问它。这个异常来源于.NET2的一个限制:工作线程不能访问窗口线程创建的控件。解决方法主要有两种,一种是在窗口线程中设置CheckForIllegalCrossThreadCalls = false ;另一种方式比较麻烦,使用委托的方式调用Invoke方法。
比如窗口中有一个button1,我要新建一个线程访问到button1。第一种方式是:
| 代码如下 | 复制代码 |
|
this.button1.Enabled = false; }catch(Exception ex) |
|
Start();使用委托
| 代码如下 | 复制代码 |
|
/// /// |
|
然后再从新线程访问控件button1
| 代码如下 | 复制代码 |
|
this.button1.Enabled = false; // 用委托的方式 |
|
ios哔咔网页版直达入口-哔咔漫画iOS网页版一键进入
MyFreeMP3在线音乐官网-MyFreeMP3网页版官方入口
超星学习通网页版登录入口-超星学习通官网登录网址
超星学习通官网快捷登录入口 学习通网页版官方一键直达方法
韩剧再婚皇后全集百度云网盘资源链接分享-韩剧再婚皇后1080p蓝光百度云网盘资源下载
韩剧再婚皇后阿里云盘全集高清1080P资源链接-韩剧再婚皇后免费阿里云盘资源下载4K高清无删减版链接