C#线程间操作无效(跨线程访问控件)

很多朋友在刚接触Winfrom的时候会遇到这个问题:线程间操作无效,从不是创建控件textbox1的线程访问它。

 

 

这里有提供两种解决方法。

第一种

 System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false; 

C#线程间操作无效(跨线程访问控件)_第1张图片

 

第二种

使用委托

C#线程间操作无效(跨线程访问控件)_第2张图片

 

 

但是!!! 使用第一种方法在有些情况下会出现问题,使用第二种方法的话每个项目都这么去写的话就会很麻烦 所以本人封装了一个简单的类库,用于处理跨线程操作控件,此类库的版本为.NET 4.0,有需要的朋友可以前往下载

 

下载链接 http://pan.baidu.com/s/1boP4BTl 

密码:h8ba

 

打开之后可以看到C#线程间操作无效(跨线程访问控件)_第3张图片两个dll文件,因为封装的类库中有使用到excel操作,如果不需要用到excel操作的话 无需下载apose.cells.dll

 

在项目中引用controlhelper之后跨线程操作控件就变得很简单C#线程间操作无效(跨线程访问控件)_第4张图片

提供该类库旨于帮助小伙伴们写不必要的代码

源码地址为:https://github.com/SsssGray/commonHelper/blob/master/CommonHelper/ControlHelper.cs

有需要的可以去看看,顺便帮忙点个star~

你可能感兴趣的:(c#,winfrom)