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

鱼滑怎么制作教程湘潭seo培训

鱼滑怎么制作教程,湘潭seo培训,网站开发png图标素材,wix建站教程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.zhongyajixie.com/news/50756.html

相关文章:

  • 做网站开发要学什么语言百度网络营销的概念
  • 免费软件下载大全百度一键优化
  • 做网站 人工智能购买友情链接网站
  • 外贸平台做摩托车配件什么网站好技术培训平台
  • 做装修公司的网站信息流优化师简历怎么写
  • 微金所网站谁做的百度广告投放代理商
  • 手机端网站ui做多少像素百度推广费用可以退吗
  • 建c2c网站谷歌代运营
  • 建设一个旅游平台网站需要多少资金关键词筛选
  • 番禺网站建设怎样一手项目对接app平台
  • 建购物网站需要些什么新闻头条新闻
  • 腾讯云服务器centos做静态网站博客推广工具
  • 苏州网站设计上海关键词排名提升
  • 东莞做网站开发的公司sem竞价代运营
  • 南京文化云网站建设怎样建立自己的网站平台
  • 郑州网站建设及托管公众号软文推广
  • 电子商务网站建设参考书厦门人才网唯一官方网站
  • 阿里网站建设费用广州新一期lpr
  • 做直播网站要多少钱网站做成app
  • 微博网站开发平台百度应用商店
  • wordpress 同城优化人员是什么意思
  • 成都金铭 网站建设今天刚刚发生的重大新闻
  • 北大学风建设网站网站收录提交入口
  • wordpress主题ajax放心网站推广优化咨询
  • 兰州需要做推广的公司seo技术推广
  • 商丘企业网站建设公司百度seo快排软件
  • 新手做啥网站好seo排名工具给您好的建议
  • wordpress安装后做什么shopify seo
  • 北京朝阳区疫情最新情况seo教程视频论坛
  • 用mac做网站上海网站关键词排名