当前位置: 首页 > news >正文

赣州 做网站golang做网站怎么样

赣州 做网站,golang做网站怎么样,网站提交收录软件,专业定制小程序BackgroundWorker 控件的几个实例(C# backgroundworker使用方法): 在 WinForms 中,有时要执行耗时的操作,在该操作未完成之前操作用户界面,会导致用户界面停止响应。 解决的方法就是新开一个线程&#xff…

BackgroundWorker 控件的几个实例(C# backgroundworker使用方法):

在 WinForms 中,有时要执行耗时的操作,在该操作未完成之前操作用户界面,会导致用户界面停止响应。
解决的方法就是新开一个线程,把耗时的操作放到线程中执行,这样就可以在用户界面上进行其它操作。
新建线程可以用 Thread 类,可以实现多线程同时操作,简单的可以通过 BackgroundWorker 类实现。

用 BackgroundWorker 类执行耗时的操作
BackgroundWorker 类在 System.ComponentModel 命名空间下。
VS 的工具箱时有一个 BackgroundWorker 组件,就是这个类。

常用方法
1.RunWorkerAsync
开始执行后台操作。引发 DoWork 事件

2.CancelAsync
请求取消挂起的后台操作。
注意:这个方法是将 CancellationPending 属性设置为 true,并不会终止后台操作。在后台操作中要检查 CancellationPending 属性,来决定是否要继续执行耗时的操作。

3.ReportProgress
引发 ProgressChanged 事件。

常用属性
1.CancellationPending
指示应用程序是否已请求取消后台操作。
只读属性,默认为 false,当执行了 CancelAsync 方法后,值为 true。

2.WorkerSupportsCancellation
指示是否支持异步取消。要执行 CancelAsync 方法,需要先设置该属性为 true。

3.WorkerReportsProgress
指示是否能报告进度。要执行 ReportProgress 方法,需要先设置该属性为 true。

常用事件
1.DoWork
调用 RunWorkerAsync 方法时发生。

2.RunWorkerCompleted
后台操作已完成、被取消或引发异常时发生。

3.ProgressChanged
调用 ReportProgress 方法时发生。

在 DoWork 事件处理程序中不操作任何用户界面对象。而应该通过 ProgressChanged 和 RunWorkerCompleted 事件与用户界面进行通信。

如果想在 DoWork 事件处理程序中和用户界面的控件通信,可在用 ReportProgress 方法。
ReportProgress(int percentProgress, object userState),可以传递一个对象。

ProgressChanged 事件可以从参数 ProgressChangedEventArgs 类的 UserState 属性得到这个信息对象。

简单的程序用 BackgroundWorker 比 Thread 方便,Thread 中和用户界面上的控件通信比较麻烦,需要用委托来调用控件的 Invoke 或 BeginInvoke 方法,没有 BackgroundWorker 方便。

============================

一个简单的刷网页流量的小工具代码

  1. 从工具栏拖一个BackgroundWorker控件,设置其属性WorkerReportsProgress为true

  2. 要让worker开始工作,执行如下代码:
    mBackgroundWorker.RunWorkerAsync(arg);
    这里有重写,如果不需要传递参数直接mBackgroundWorker.RunWorkerAsync();

  3. 编辑DoWork事件代码:
    e.Argument为mBackgroundWorker.RunWorkerAsync(arg);对应的参数
    之所以使用进度条,肯定是有循环的,在循环中报告进度:
    worker.ReportProgress(i * 100 / totalNum, obj );
    其中第一个参数是当前进度的百分之多少,obj为你要传递的UserState,如果没有可以不要

  4. 编辑ProgressChanged事件代码:
    e.ProgressPercentage为进度的百分数,e.UserState为刚才传递过来的object
    在这个事件中可以调用ui的进度条和其他控件:
    mToolStripProgressBar.Value = e.ProgressPercentage;

http://www.yayakq.cn/news/110630/

相关文章:

  • seo网站排名厂商定制wordpress文章字符插件
  • 专业网站设计流程图江苏住房与城乡建设厅网站
  • 彩票网站开发的宜布网网站谁做的
  • 网站建设 年终总结小程序模板源下载
  • 网站编程技术有哪些公司网站如何租用服务器
  • 建设通官方网站怎么自学室内设计与装修
  • iis 网站模板下载天津移动网站建设
  • 哈尔滨网页网站制作wordpress+浮框
  • 南头外贸网站建设公司做网站哪家网站好
  • 杭州品格网站设计广州市官网网站建设价格
  • 莆田网站建设方案服务网络推广公司 深圳
  • wordpress适配手机网络seo优化平台
  • 510企业网站系统源码低价建设手机网站
  • 网站建站平台系统北京网站开发建设 58同城
  • 鹤壁百度网站建设wordpress开发架构
  • 网站建设排行榜qq网页版在线登录入口
  • 怎样一个域名做两个网站设计衣服图制作软件
  • 百度推广商桥网站上怎么去掉百度搜索排名规则
  • wordpress 留言给站长发邮件网站欧美风格
  • seo查询整站对新网站做seo大概需要多久
  • 网站建设年度总结西地那非多少钱一盒
  • 林州网站建设哪家专业怎么做PayPal网站收款
  • 外贸网站租用外国服务器好还是自己装一个服务器好wordpress获取页面的当前位置
  • 网站上怎么做艳丽的色如何让百度搜到网站
  • 专业电子网站建设网站建设的流程与思路
  • 网站维护难做企业管理咨询与诊断实践报告
  • 重庆渝中区企业网站建设哪家专业华商网
  • 如何建设一个查询系统网站html网站分页怎么做的
  • 网站后台管理员密码忘记做百度网站费用
  • 祥云网站优化住房和城乡建设部网站倪虹