博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#窗体的加载等待(BackgroundWorker控件)实现
阅读量:6711 次
发布时间:2019-06-25

本文共 1293 字,大约阅读时间需要 4 分钟。

窗体拉一个Button按钮和一个加载等待显示的label,

label默认隐藏,点击按钮时显示这个label,加载完再隐藏

1、工具箱拉BackgroundWorker控件到窗体

2、backgroundWorker1属性-闪电图标-双击点进去DoWork事件和RunWorkerCompleted事件

 

public partial class Ceshi2 : Form    {        public Ceshi2()        {            InitializeComponent();            CheckForIllegalCrossThreadCalls = false;//Dowork()方法里有控件会报异常        }        private void button1_Click(object sender, EventArgs e)        {            label1.Visible = true;            backgroundWorker1.RunWorkerAsync();//开始后台操作,引发DoWork事件        }        //调用 RunWorkerAsync 方法时发生        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)        {            for (int i = 0; i < 5; i++)            {                Thread.Sleep(1000);            }        }        //后台操作已完成、被取消或引发异常时发生        private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)        {            label1.Visible = false;        }   }

 

 

异常1:线程间操作无效: 从不是创建控件的线程访问它,在构造方法里加这一行即可

public Ceshi2()        {            InitializeComponent();            CheckForIllegalCrossThreadCalls = false;//Dowork()方法里有控件会报异常        }

 

如果哪里有异常,try...catch()...

异常2:在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级

 

try            {                //代码            }            catch (ArgumentException ex)            {            }

 

转载地址:http://nzalo.baihongyu.com/

你可能感兴趣的文章
SCCM2012系列之九,SCCM代理安装
查看>>
Exchange Server 2016管理系列课件09.删除和恢复已删除的邮箱
查看>>
Exchange 2013多租户托管PART 4:邮箱隔离管理配置
查看>>
课程所用软件下载地址
查看>>
Mary Meeker最新互联网趋势报告关键词:重写改变一切、轻资产时代
查看>>
KNN算法的實現
查看>>
HDU 1245 Saving James Bond
查看>>
SpringSecurity3整合CAS实现单点登录
查看>>
淘宝网架构分享总结[转]
查看>>
android异步任务详解 AsynTask
查看>>
XPath注入技术综述
查看>>
一步一步写算法(之挑选最大的n个数)
查看>>
mysql存储过程中传decimal值会自动四舍五入,没有小数
查看>>
java中文乱码解决之道(三)—–编码详情:伟大的创想—Unicode编码
查看>>
shiro安全框架
查看>>
php 返回上一页并刷新
查看>>
14. 星际争霸之php设计模式--状态模式
查看>>
微信公共服务平台开发(.Net 的实现)2-------获得ACCESSTOKEN
查看>>
Nginx + php-fpm 执行 PHP 脚本超时 报错 502 Bad Gateway + 504 Gateway Time-out 的解决办法...
查看>>
Scala第三章学习笔记
查看>>