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

手机版网站制作模板简单的网页制作代码

手机版网站制作模板,简单的网页制作代码,10个好用的wordpress投票_评分插件,公司网站非响应式在开发winform时经常会用到多线程防止界面出现假死现象#xff0c;比如当你单击某个按钮时#xff0c;需要执行很多代码#xff0c;但是在执行过程中想实时的将当前执行的情况报告给用户#xff0c;类型进度条或文本什么的。 这个时候很显然#xff0c;如果你把要实现的内…        在开发winform时经常会用到多线程防止界面出现假死现象比如当你单击某个按钮时需要执行很多代码但是在执行过程中想实时的将当前执行的情况报告给用户类型进度条或文本什么的。 这个时候很显然如果你把要实现的内容放在按钮方法里时其实界面要等这个按钮执行完后才能输出来这个时候就达不到我们的预期了那么怎么才能解决问题呢。 我初略终结了一下有以下几种方法     1.采用BackgroundWorker控件这个控件将要实时输出的内容写在事件中 1 private void button1_Click(object sender, EventArgs e)2 {3 //异步执行逻辑4 backgroundWorker1.RunWorkerAsync();5 }6 private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)7 {8 //实现业务逻辑9 int i 5; 10 i Math.Abs(i); 11 //报告当前处理进度 12 backgroundWorker1.ReportProgress(50); 13 } 14 15 private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e) 16 { 17 //当前进度 18 int cuur e.ProgressPercentage; 19 //实现跨线程控件的输出 20 this.label1.Text cuur.ToString(); 21 } 22 23 private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) 24 { 25 //执行完毕可以报告信息 26 this.label1.Text ok; 27 }    2.采用委托的方式实现灵活引用Invoke 1 private void button2_Click(object sender, EventArgs e)2 {3 //异步执行逻辑4 Thread thread new Thread(ThreadFunc);5 thread.IsBackground true;6 thread.Start();7 }8 private void ThreadFunc()9 { 10 //实现业务逻辑 11 int i 5; 12 i Math.Abs(i); 13 //报告当前处理进度 14 SetLabel(i.ToString()); 15 } 16 //定义委托 17 delegate void SetLabelHandler(string text); 18 //实现方法 19 private void SetLabel(string text) 20 { 21 if (InvokeRequired) 22 { 23 Invoke(new SetLabelHandler(SetLabel), text); 24 } 25 else 26 { 27 this.label1.Text text; 28 } 29 }   3.采用Lamada表达式动态实现委托调用。 1 private void button3_Click(object sender, EventArgs e)2 {3 //异步执行逻辑4 Thread thread new Thread(Func);5 thread.IsBackground true;6 thread.Start();7 }8 private void Func()9 { 10 //实现业务逻辑 11 int i 5; 12 i Math.Abs(i); 13 //报告当前处理进度 14 AsyncUI(() { label1.Text i.ToString(); }); 15 } 16 public void AsyncUI(Action action) 17 { 18 if (InvokeRequired) 19 { 20 Invoke(action); 21 } 22 else 23 { 24 action(); 25 } 26 }   以上是我总结的三种至于有没有其他方法欢迎大家来拍砖在这里我想推荐的是第三种方法这个方法最灵活。 下面来谈谈我对这三种的看法 对应第一种方法使用简单拖控件就ok但是对应需要显示更负责的数据时比较麻烦 对应第二种方法可以不用拖控件来自由定制但是同第一种方法一样如果需要显示更多控件数据也要定义很多方法和委托太冗余累赘 对于第三种方法我个人非常喜欢代码在需要的时候动态使用但是我也没有仔细分析该方法的性能问题。    转载于:https://www.cnblogs.com/steven_jiangxf/archive/2013/05/09/steven.html
http://www.yutouwan.com/news/36344/

相关文章:

  • 中山专业门户网站制作咨询平面设计网站排行榜前十名有哪些
  • it培训机构哪个好一点怎样优化网站 优帮云
  • 网站推广有哪些方法python语言基础知识
  • 大连中山区网站建设wordpress搜索结果页样式
  • 天峨县建设局网站关于网页设计的论文范文
  • 大鹏新区网站建设中建建设银行网站
  • 无锡惠山区建设局网站wordpress蛋花儿最新
  • 阿里云域名备案网站建设方案西安公司建一个网站需要多少钱
  • 柳州网站建设排行榜永州做网站tuantaogou
  • 长沙商城网站苏州建设网站电话
  • 有什么做logo网站莱芜在线电话
  • 旅游网站模板免费下载做鲜花配送网站需要准备什么
  • 临汾网站建设费用网站开发背景策划书
  • 深圳做网站联系电话怎么做外链
  • php开源网站管理系统网站模板 可做采集站
  • 海南网站建站保定网站模板建站
  • 网站搭建介绍网站内容上传要求
  • soho外贸建站家里笔记本做网站 怎么解析
  • 东莞如何建设网站制作平台哪个网站可以做鸟瞰图
  • 简单的网站架构韩国外贸网站
  • 珠海营销型网站哪家好西安网站建设哪家
  • 三合一模板网站wordpress如何修改首页
  • 复刻手表网站免费留电话号码的广告
  • 发布自己的做家教的网站安阳手机网站建设
  • 做兼职的设计网站wordpress如何上传超过2m
  • 微信公众号做推送的网站养殖场网站源码
  • 邯郸建立网站费用html5 metro风格网站
  • 苏州电子商务网站设计重庆小程序开发公司
  • 淘宝网站建设教程视频宁波外贸网站设计公司
  • 成都网站建设选择到访率福建建设工程交易中心网站