C# WinForm跨线程访问控件的图文详解


本文摘自PHP中文网,作者黄舟,侵删。

问题出现:

在WinForm 处理多线程访问主线程的控件时候,就会出现如图所示的错误对话框:

解决方案:

方案一:去掉线程访问主线程UI控件的安全检查,使用:

1

Control.CheckForIllegalCrossThreadCalls = false;

方案二:使用委托,将对主线程的UI控件操作推送了该线程的消息队列里,使用的方法为:Invoke方法和BeginInvoke方法,前一个是同步方法,后一个为异步方法;

使用同步invoke方法的程序代码如下,已经通过测试:

阅读剩余部分

相关阅读 >>

c# 并行任务之parallel类的实例介绍

c#中匿名委托以及lambda表达式的实例详解

.net中关于接口和类之间的区别介绍

.net多线程编程中的误用点分析

c#中关于automapper应用的实例

oracle clob字段过长保存出错改如何解决?

mes溯源方案追溯系统开发

c#中关于foreach遍历使用的深入理解

c#根据表格偶数与奇数加载不同颜色的实例分析

基于.net平台常用的框架整理的详细介绍

更多相关阅读请进入《WinForm》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...

    正在狠努力加载,请稍候...