.NET跨线程访问控件

原创 2011年01月15日 13:00:00

前沿

.NET2.0之后禁止了直接跨线程访问控件,因为使用自己自定义的线程去访问主线程(主窗体)中的控件是不安全的。不过,可以通过下面两种方面实现跨线程访问控件:

(1)不使用委托:可以在构造函数或者窗体Load的代码里添加下面一句: 
Control.CheckForIllegalCrossThreadCalls = False
(2)委托方法的实现

正文

下面通过例子演示通过委托的方法来实现跨线程访问控件(自定义线程访问主线程中的ProgessBar控件)。

1、定义ProgessBar操作类

 

2、执行调用

相关文章推荐

c#跨线程访问控件程序集

  • 2016年07月25日 14:17
  • 7KB
  • 下载

C#跨线程访问控件

  • 2013年03月17日 14:28
  • 35KB
  • 下载

InvokeHelper 跨线程访问/修改主界面控件

using System;  using System.Collections.Generic;  using System.Reflection;  using System.Text;...
  • nic7968
  • nic7968
  • 2012年08月24日 07:55
  • 485

安全实现跨线程访问控件

  • 2011年12月21日 13:51
  • 2KB
  • 下载

C#中跨线程访问控件问题解决方案

net 原则上禁止跨线程访问控件,因为这样可能造成错误的发生,推荐的解决方法是采用代理,用代理方法来间接操作不是同一线程创建的控件。 第二种方法是禁止编译器对跨线程访问作检查,可以实现访问,但是出...

C#中跨线程访问控件问题解决方案

net 原则上禁止跨线程访问控件,因为这样可能造成错误的发生,推荐的解决方法是采用代理,用代理方法来间接操作不是同一线程创建的控件。 第二种方法是禁止编译器对跨线程访问作检查,可以实现访问,但...
  • dxd0128
  • dxd0128
  • 2012年05月12日 15:25
  • 614

跨线程访问控件

首先明确一下进程和线程之间的关系:进程是操作系统分配资源的最小单位,进程之间隔离,作为资源的拥有者,在创建、CPU处理时切换以及撤销的过程中花费时间较长,而线程是操作系统任务调度的最小单元,对于每个进...

Winform 跨线程访问控件的两个方法总结

博主刚接触线程没多久,需要实现将线程中计算出的数据传递给winform的label显示出来,但是C#中禁止跨线程直接访问控件,首先想到方法一(用委托实现) : 具体拿一个案例(内部计算已省略)说明:...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章: .NET跨线程访问控件
举报原因:
原因补充:

(最多只允许输入30个字)