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

做 理财网站有哪些工程建设含义

做 理财网站有哪些,工程建设含义,wordpress移动端主题,单页网站后台订单系统1.控件介绍 进度条通常用于显示代码的执行进程进度#xff0c;在一些复杂功能交互体验时告知用户进程还在继续。 在属性栏中#xff0c;有三个值常用#xff1a; Value表示当前值#xff0c;Minimum表示进度条范围下限#xff0c;Maximum表示进度条范围上限。 2.简单实…1.控件介绍 进度条通常用于显示代码的执行进程进度在一些复杂功能交互体验时告知用户进程还在继续。 在属性栏中有三个值常用 Value表示当前值Minimum表示进度条范围下限Maximum表示进度条范围上限。 2.简单实例 在一个界面下点击按钮进度条加载用label显示运行耗时。 在Form1.cs中添加点击Button1按钮功能 private async void button1_Click(object sender, EventArgs e) {Stopwatch stopwatch new Stopwatch();stopwatch.Start();button1.Enabled false;//防止重复点击progressBar1.Value 0;int progressStep 10;for (int i 0; i progressBar1.Maximum; i i progressStep){await Task.Delay(100);progressBar1.Value i;}button1.Enabled true;stopwatch.Stop();label1.Text $运行耗时{stopwatch.ElapsedMilliseconds}ms;MessageBox.Show(ok); }3.异步编程思想 异步编程是一种编程范式它允许程序在执行耗时操作时不阻塞主线程或调用线程从而提高程序的响应性和性能。简单来说异步编程使得程序在等待某些操作如网络请求、文件I/O、数据库查询等的完成时可以继续处理其他任务。 3.1 为什么需要异步编程 在同步编程模式下当程序执行一个耗时操作例如读取文件或从网络获取数据时整个程序会暂停主线程被堵塞直到这个操作完成。这会导致程序变得不可响应特别是在需要处理用户交互的应用程序中。 异步编程通过允许程序处理其他任务而不会被耗时操作阻塞解决了这一问题。例如在用户接口应用程序中异步编程可以防止界面“卡死”从而提升用户体验。 3.2 异步编程流程 功能代码如下模拟一个等待执行 private async Task LoadDataAsync() {await Task.Delay(5000); // 异步等待 5 秒Console.WriteLine(数据加载完成); // 5 秒后执行 }1当线程执行到await关键字标识的位置后系统将方法挂起返回控制权给调用者。 2任务调度器记录 Task.Delay(5000)在 5 秒后标记任务为完成。 35秒后任务调度器标记 Task.Delay(5000) 完成。调度器触发回调通知方法恢复执行。打印数据加载完成。 4在挂起期间用户可以自行操作不会造成UI阻塞。 3.3 await是什么 await是C#中的关键字用于异步编程等待异步操作的完成不会阻塞当前进程。通常与async关键字一起用。 3.4 async是什么 async也是C#中的关键字用于修饰方法、匿名函数或者lambda表达式。通常和await一起用指示他们包含异步操作。 3.5 Task是什么 异步方法通常返回 Task 或 Task 对象表示一个异步操作的进行。 Task 类还可以用于表示和管理异步操作。 以上三个关键字总结async 修饰的方法通常返回 Task 或 Task T 而 await 用于等待任务的完成。 3.6 应用例子 在图形用户界面GUI应用程序中阻塞主线程会导致用户界面变得不可响应。例如如果用户点击一个按钮触发一个耗时操作整个界面会在操作完成之前冻结无法响应用户的其他操作。 单纯摆出异步编程的例子无法体会精髓先用一个同步编程的来对比 同步编程 点击button1按钮开始执行功能代码代码功能放到了另一个方法中去该方法的功能就是单纯进行线程休眠模拟耗时操作。 private void button1_Click(object sender, EventArgs e) {Stopwatch stopwatch new Stopwatch();stopwatch.Start();button1.Enabled false;//防止重复点击Form1Bar.Value 0;int progressStep 10;for (int i 0; i Form1Bar.Maximum; i i progressStep){// 同步方法阻塞UI线程LoadData();Form1Bar.Value i;}button1.Enabled true;stopwatch.Stop();label1.Text $运行耗时{stopwatch.ElapsedMilliseconds}ms;MessageBox.Show(ok); }模拟耗时方法 private void LoadData() {System.Threading.Thread.Sleep(1000);// 会强制阻塞线程 }测试卡死按钮 private void button2_Click(object sender, EventArgs e) {textBox1.Text 异步编程UI未卡死; } private void button3_Click(object sender, EventArgs e) {textBox1.Text string.Empty; }运行过程中无法点击测试按钮UI进程阻塞GUI卡死。 异步编程主窗口进度条 异步编程会挂起当前await的耗时方法不会阻塞当前线程用户可以操作其他。 private async void button1_Click(object sender, EventArgs e) {Stopwatch stopwatch new Stopwatch();stopwatch.Start();button1.Enabled false;//防止重复点击Form1Bar.Value 0;int progressStep 10;for (int i 0; i Form1Bar.Maximum; i i progressStep){// 同步方法阻塞UI线程await LoadData();Form1Bar.Value i;}button1.Enabled true;stopwatch.Stop();label1.Text $运行耗时{stopwatch.ElapsedMilliseconds}ms;MessageBox.Show(ok); }private async Task LoadData() {//System.Threading.Thread.Sleep(5000);// 会强制阻塞线程await Task.Delay(500); }异步编程弹出窗口进度条 Form1作为主界面只放Button1和label1两个控件点击开始后弹出Form2进度条加载。 不仅实现弹出窗口进度条还通过异步编程实现。 关键代码 private async void button1_Click(object sender, EventArgs e) {button1.Enabled false;//防止重复点击Form2 form2 new Form2();form2.Show();Stopwatch stopwatch new Stopwatch();stopwatch.Start();for(int i 0; i form2.Form2Bar.Maximum; i 10){await LoadData();form2.Form2Bar.Value i;}button1.Enabled true;stopwatch.Stop();label1.Text $运行耗时{stopwatch.ElapsedMilliseconds}ms;MessageBox.Show(ok);form2.Close(); }private async Task LoadData() {await Task.Delay(500); }4.更进一步 仔细阅读上述代码可以发现每次进度条加载是通过i来控制的i每次随着休眠结束会自增10这样确实可以均匀控制进度条增长。 但是现在有这样一个问题在实际项目中我们随着处理的数据量不同并不知道每次运行的固定时间换言之可能并不是每次均匀增长一个固定值。 在之前先介绍一下一种特殊的函数-----回调函数 4.1 回调函数 回调函数是指函数通过参数传给另一个函数在满足特定的条件下由后者调用。 在异步编程思想中当某个操作完成后回调函数会被执行处理或相应发生的事件。 下面是一个简单的代码展示 // 定义一个回调函数 void CallbackFunction(string message) {Console.WriteLine(message); }// 定义一个异步函数接受回调函数作为参数 void doSomethingAsync(Actionstring callback) {// 模拟异步操作Task.Run(() {// 模拟一些工作Task.Delay(1000).Wait();// 调用回调函数callback(Operation completed!);}); }// 使用异步函数并传递回调函数 doSomethingAsync(CallbackFunction);CallbackFunction(string message)是一个回调函数当有字符串类型的参数传入时会进行打印操作。 doSomethingAsync(Action callback)是一个异步函数内部含有Task.Run内部模拟了一个耗时异步操作在结束后调用回调函数。 4.2 控制进度条 在不同任务耗时不一样的前提下控制进度条的增长可以通过下面两种方法 1将任务分解成为多个子任务每个任务结束后手动增加更新进度条。看起来一卡一卡的 2通过IProgress T 接口实现任务的进度报告实时更新进度条。进度均匀更优雅 两种方法其实很类似都是需要去做一个标记然后更新。 如果实在无法分割子任务可使用进度条Marquee样式实现类似跑马灯的效果只告诉用户程序在运行不知道结束的时间。 关键代码实例只保留核心部分 progress是一个报告器接受参数触发内部的Lambda回调函数更新进度条。 private async void Button_Click(object sender, EventArgs e) {// 创建一个进度报告器更新进度条var progress new Progressint(percent {progressBar.Value percent; // 更新进度条});// 启动长时间运行的任务await ExecuteLongRunningTask(progress);// ... }private async Task ExecuteLongRunningTask(IProgressint progress) {int totalSteps 100; // 任务的总步数假设任务可以分为100步for (int i 0; i totalSteps; i){// 模拟长时间任务await Task.Delay(100); // 每步等待100毫秒// 报告进度progress.Report((i 1) * 100 / totalSteps);} }
文章转载自:
http://www.morning.zzgtdz.cn.gov.cn.zzgtdz.cn
http://www.morning.yqjjn.cn.gov.cn.yqjjn.cn
http://www.morning.myhpj.cn.gov.cn.myhpj.cn
http://www.morning.mlcwl.cn.gov.cn.mlcwl.cn
http://www.morning.kbyp.cn.gov.cn.kbyp.cn
http://www.morning.zqzhd.cn.gov.cn.zqzhd.cn
http://www.morning.nlgnk.cn.gov.cn.nlgnk.cn
http://www.morning.xgmf.cn.gov.cn.xgmf.cn
http://www.morning.lfbzg.cn.gov.cn.lfbzg.cn
http://www.morning.jwcmq.cn.gov.cn.jwcmq.cn
http://www.morning.xnnpy.cn.gov.cn.xnnpy.cn
http://www.morning.bnrnb.cn.gov.cn.bnrnb.cn
http://www.morning.qmzwl.cn.gov.cn.qmzwl.cn
http://www.morning.jlschmy.com.gov.cn.jlschmy.com
http://www.morning.ldnrf.cn.gov.cn.ldnrf.cn
http://www.morning.bygyd.cn.gov.cn.bygyd.cn
http://www.morning.brlcj.cn.gov.cn.brlcj.cn
http://www.morning.liyixun.com.gov.cn.liyixun.com
http://www.morning.rsdm.cn.gov.cn.rsdm.cn
http://www.morning.qnhcx.cn.gov.cn.qnhcx.cn
http://www.morning.dmtld.cn.gov.cn.dmtld.cn
http://www.morning.nflpk.cn.gov.cn.nflpk.cn
http://www.morning.rsbqq.cn.gov.cn.rsbqq.cn
http://www.morning.rcdmp.cn.gov.cn.rcdmp.cn
http://www.morning.hgtr.cn.gov.cn.hgtr.cn
http://www.morning.zcqgf.cn.gov.cn.zcqgf.cn
http://www.morning.bydpr.cn.gov.cn.bydpr.cn
http://www.morning.krrjb.cn.gov.cn.krrjb.cn
http://www.morning.mrtdq.cn.gov.cn.mrtdq.cn
http://www.morning.nqrdx.cn.gov.cn.nqrdx.cn
http://www.morning.mkbc.cn.gov.cn.mkbc.cn
http://www.morning.mxlmn.cn.gov.cn.mxlmn.cn
http://www.morning.bzlsf.cn.gov.cn.bzlsf.cn
http://www.morning.psyrz.cn.gov.cn.psyrz.cn
http://www.morning.psxxp.cn.gov.cn.psxxp.cn
http://www.morning.qxmnf.cn.gov.cn.qxmnf.cn
http://www.morning.kntbk.cn.gov.cn.kntbk.cn
http://www.morning.nzcys.cn.gov.cn.nzcys.cn
http://www.morning.fcwxs.cn.gov.cn.fcwxs.cn
http://www.morning.ztmkg.cn.gov.cn.ztmkg.cn
http://www.morning.qyllw.cn.gov.cn.qyllw.cn
http://www.morning.lpnpn.cn.gov.cn.lpnpn.cn
http://www.morning.xmbhc.cn.gov.cn.xmbhc.cn
http://www.morning.ybnps.cn.gov.cn.ybnps.cn
http://www.morning.qyqmj.cn.gov.cn.qyqmj.cn
http://www.morning.rgxf.cn.gov.cn.rgxf.cn
http://www.morning.rwqk.cn.gov.cn.rwqk.cn
http://www.morning.horihe.com.gov.cn.horihe.com
http://www.morning.plcyq.cn.gov.cn.plcyq.cn
http://www.morning.kqzxk.cn.gov.cn.kqzxk.cn
http://www.morning.tsdqr.cn.gov.cn.tsdqr.cn
http://www.morning.xgcwm.cn.gov.cn.xgcwm.cn
http://www.morning.dansj.com.gov.cn.dansj.com
http://www.morning.kmcby.cn.gov.cn.kmcby.cn
http://www.morning.jgnjl.cn.gov.cn.jgnjl.cn
http://www.morning.hqjtp.cn.gov.cn.hqjtp.cn
http://www.morning.hqgxz.cn.gov.cn.hqgxz.cn
http://www.morning.xplng.cn.gov.cn.xplng.cn
http://www.morning.fqqcd.cn.gov.cn.fqqcd.cn
http://www.morning.nppml.cn.gov.cn.nppml.cn
http://www.morning.ksgjn.cn.gov.cn.ksgjn.cn
http://www.morning.rxhsm.cn.gov.cn.rxhsm.cn
http://www.morning.gywxq.cn.gov.cn.gywxq.cn
http://www.morning.zglrl.cn.gov.cn.zglrl.cn
http://www.morning.tpxgm.cn.gov.cn.tpxgm.cn
http://www.morning.fwrr.cn.gov.cn.fwrr.cn
http://www.morning.c7491.cn.gov.cn.c7491.cn
http://www.morning.rqqmd.cn.gov.cn.rqqmd.cn
http://www.morning.bmzxp.cn.gov.cn.bmzxp.cn
http://www.morning.27asw.cn.gov.cn.27asw.cn
http://www.morning.lmxzw.cn.gov.cn.lmxzw.cn
http://www.morning.srmpc.cn.gov.cn.srmpc.cn
http://www.morning.wpmqq.cn.gov.cn.wpmqq.cn
http://www.morning.mjqms.cn.gov.cn.mjqms.cn
http://www.morning.knzdt.cn.gov.cn.knzdt.cn
http://www.morning.fosfox.com.gov.cn.fosfox.com
http://www.morning.dnbkz.cn.gov.cn.dnbkz.cn
http://www.morning.fbhmn.cn.gov.cn.fbhmn.cn
http://www.morning.nhpmn.cn.gov.cn.nhpmn.cn
http://www.morning.hsksm.cn.gov.cn.hsksm.cn
http://www.tj-hxxt.cn/news/281927.html

相关文章:

  • 什么网站做电器出租王烨这个名字怎么样
  • h5互动网站建设运营管理培训
  • 做服装搭配图的网站商业空间设计平台
  • 网站建设注意asp.net答辩做网站
  • 绚丽网站宁波专业制作网站
  • 创意品牌网站电脑版传奇
  • 郑州网站的优化广州网站推广解决方案
  • 中山哪家做网站好东莞网站定制开发
  • ae模板免费下载网站有哪些建设部网站 合同格式
  • 网站开发学那种语言网站规划与设计一千字
  • 权威的企业网站建设动漫网页设计代码
  • 网站服务公司名称wordpress头像尺寸
  • 织梦网站地图样式wordpress文章分类页面置顶
  • 建企业网站要多少钱杭州市城乡建设网官网
  • 怎么样建设一个网上教学网站wordpress优秀博客
  • 怎么免费创建个人网站公司宣传片制作价格
  • 9免费网站空间图片素材网站排行榜
  • 网站改版合同深圳百度关键字优化
  • wordpress网站安全性网页设计代码解释
  • 关于计算机网站开发的论文题目东莞市区最繁华的地方
  • 网站建设详细步骤设计师免费素材网站推荐
  • 钓鱼网站下载安装大连建设网网址
  • 设计软件网站推荐什么是网站框架结构
  • 公司网站后台怎么添加内容网站硬件方案
  • 专业做婚纱摄影网站手机网站 微网站
  • 免费注册企业网站陕西公共资源交易中心官网
  • 湖南网站seo营销多少费用网建科技北京有限公司
  • 南宁码科网站建设seo首页排名优化
  • 做初级会计实务题的网站lamp网站开发黄金组合下载
  • 在线服务器网站免费商城网站模板下载