C#窗体的加载等待(BackgroundWorker控件)实现

窗体拉一个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 = ; i < ; i++)
{
Thread.Sleep();
}
} //后台操作已完成、被取消或引发异常时发生
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)
{ }
C#窗体的加载等待(BackgroundWorker控件)实现的更多相关文章
- 一个可爱 & 小清新的加载等待Android控件
		https://github.com/Carson-Ho/Kawaii_LoadingView 
- ASP.NET MVC中加载WebForms用户控件(.ascx)
		原文:ASP.NET MVC中加载WebForms用户控件(.ascx) 问题背景 博客园博客中的日历用的是ASP.NET WebForms的日历控件(System.Web.UI.WebControl ... 
- asp.net动态加载ascx用户控件
		原文:asp.net动态加载ascx用户控件 在主aspx/ascx文件中,将目标ascx1,ascx2控件拖拉到其页面中,然后删除,目的是要生成:Register 代码,然后在主文件中定义DIV或T ... 
- selenium显示等待解决浏览器未加载完成查找控件的问题
		问题描述:wap版支付成功后,跳转到支付成功页,查找的元素已出现,如图的:元素1,元素2,但是提示查找的元素超时,失败,并且每到这个页面都会报页面超时,不能查找到页面元素 原始代码: try{ op. ... 
- 首次加载进来DEV控件列表第一行颜色总是不对,后台代码显示的数据正确
		1:行改变的颜色正确的颜色: 1.1颜色效果如下图: 1.2:设置行改变颜色: 2:结果首次加载第一行颜色为: 3:解决方案: 3.1 :Views-->OptionsSelection --& ... 
- 将OpenCV捕获的摄像头加载到picture控件中
		CRect rect; CStatic* pStc; CDC* pDC; HDC hDC; pStc = (CStatic*)GetDlgItem(IDC_CAM);//IDC_CAM是Picture ... 
- ifc构件加载到树形控件中
		void IfcTreeWidget::setParentCheckState(QTreeWidgetItem *item) { if(!item) return; ; int childCount ... 
- DevExpress窗体加载等待
		using DevExpress.XtraEditors; using DevExpress.XtraSplashScreen; using System; using System.Collecti ... 
- WPF加载Winform窗体时 报错:子控件不能为顶级窗体
		一.wpf项目中引用WindowsFormsIntegration和System.Windows.Forms 二.Form1.Designer.cs 的 partial class Form1 设置为 ... 
随机推荐
- Python学习笔记2—内置函数
			函数的使用 官方文档:https://docs.python.org/2/library/functions.html 
- hdu 1573 X问题
			数论题,本想用中国剩余定理,可是取模的数之间不一定互质,用不了,看到网上有篇文章写得很好的:数论——中国剩余定理(互质与非互质),主要是采用合并方程的思想: 大致理解并参考他的代码后便去试试hdu上这 ... 
- iOS——为Xcode编译POCO C++静态库
			一.POCO C++ library简介 POCO C++ library是一个C++编写的跨平台库,主要实现网络连接.数据库管理以及服务器,适用于跨平台.嵌入式. 二.为Xcode编译POCO C+ ... 
- Windows 内存架构
			理解 Virtual Memory, Physical Memory, Committed Memory, Page File, Working Set, Modified Pages, Standb ... 
- xcode ___gxx_personality_v0" 编译错误
			xcode ___gxx_personality_v0" 编译错误 Undefined symbols for architecture i386: "___gxx_persona ... 
- 如何使div左右倾斜
			<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" ... 
- JSONObject和JSONArray使用
			1.所依赖JAR包 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: commons-lang.jar commons-beanutils.jar common ... 
- 修改IIS文件上传大小限制
			如果要上传的文件比较大,则需在IIS中修改文件上传的大小限制,否则无法上传(表现为程序不报错,而上传进度到100%后没有反应). 点击"管理"下的"配置编辑器" ... 
- 微信JS SDK Demo 官方案例
			微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包. 通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照.选图.语音.位置等手机系统的能力,同时可以直接使用微信分享 ... 
- Vim学习指南
			你想尽可能快地自学vim(为大家所熟知的最好的编辑器) .这是我学习的方法:从细处入手然后慢慢掌握所有技巧. Vim 六十亿美元的编辑器 设计优良,强壮,快速. 学习vim并把它作为你的下一个文本编辑 ... 
