窗体拉一个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)
{ }

最新文章

  1. 使用Eclipse构建Maven项目 (转)
  2. C# 小规模查找集合性能测试
  3. Sublime Text 3插件之Emmet:HTML/CSS代码快速编写神器
  4. UVa10047 The Monocycle
  5. 寻找第K小元素
  6. 利用cookie改变背景色
  7. MODULE_AUTHOR、MODULE_DESCRIPTION、MODULE_LICENSE宏
  8. 关于iOS中用AudioFile相关API解码或播放AAC_HE_V2时仅仅能识别单声首22.05k採样率的问题
  9. Linux lsof命令详解和使用示例【转】
  10. web项目中url-pattern改成&#39;/&#39;后,js、css、图片等静态资源(404)无法访问问题解决办法
  11. Linux下C程序的存储空间布局
  12. SQL SERVER-创建Alwayson
  13. ABP大型项目实战(1) - 目录
  14. SQL Server 复制表结构以及数据,去除表中重复字段
  15. React组件中的key
  16. django过滤器,日期格式化
  17. at 命令
  18. hdu 4957 贪心破木桶接水大trick
  19. DirectorySearcher.Filter 属性(转)
  20. Tomcat安全配置与性能优化

热门文章

  1. 安装64位版Oracle11gR2后无法启动SQLDeveloper的解决方案(原创) (2016-10-29 下午01:56)
  2. Android手机分辨率基础知识(DPI,DIP计算)三
  3. 如何在Mac OSX上安装xgboost
  4. Winform_播放声音文件
  5. gdb 调试学习
  6. PHP工程师突破
  7. 【转】 C++ vector用法
  8. C++从键盘输入文件结束符
  9. noip2016题解汇总
  10. 理解Cookie和Session机制