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

安阳网站建设新网seo关键词优化教程

安阳网站建设,新网seo关键词优化教程,株洲手机网站建设,最新新闻事件今天国内视频文章目录实例一:【方便理解,常用!】源码:运行效果:实例二:【重在理解代码本身】源码:运行效果:参考:实例一:【方便理解,常用!】 跨线…

文章目录

  • 实例一:【方便理解,常用!】
    • 源码:
    • 运行效果:
  • 实例二:【重在理解代码本身】
    • 源码:
    • 运行效果:
  • 参考:

实例一:【方便理解,常用!】

跨线程更新进度条【事件触发(进度条值增加的方法在另一个命名空间下的类中)】

源码:

AddNum.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ProgressBarAddNum
{public class AddNum{public static int Num = 0;public delegate void UpdateProgress(int index);public static event UpdateProgress onUpdateProgress;public static void Add(){UpdateProgressMethod(Num > 100 ? 0 : Num);Num+=2;          }public static void UpdateProgressMethod(int i){if (onUpdateProgress != null){onUpdateProgress.BeginInvoke(i, null, null);}}}
}

Form1.cs
在这里插入图片描述

using ProgressBarAddNum;
using System;
using System.Threading;
using System.Windows.Forms;namespace WindowsFormsApp1
{public partial class Form1 : Form{public Form1(){InitializeComponent();AddNum.onUpdateProgress += AddNum_onUpdateProgress;//注意:此事件绑定只绑定一次,不能多次绑定}public static Thread thread;private void button1_Click(object sender, EventArgs e){AddNum.Num = 0;thread = new Thread(Process);thread.IsBackground = true;thread.Start();}public delegate void UpdateProgress(int index);private void AddNum_onUpdateProgress(int index){if (progressBar1.InvokeRequired){UpdateProgress dus = new UpdateProgress(AddNum_onUpdateProgress);this.BeginInvoke(dus, new object[] { index });//方法一//this.BeginInvoke(dus, index);//方法二//progressBar1.Invoke(dus, new object[] { index });//方法三:也可以同时更新textBox1的值【???】//progressBar1.Invoke(dus, index);//方法四:也可以同时更新textBox1的值【???】}else{progressBar1.Value = index;textBox1.Text = index.ToString();//注意:同时更新textBox1的值}}private void Process(){while (true){if (AddNum.Num <= 100){AddNum.Add();Thread.Sleep(50);}else{break;}}}private void button2_Click(object sender, EventArgs e){if (thread != null){thread.Abort();thread = null;}progressBar1.Value = 0;textBox1.Text = "0";}}
}

运行效果:

在这里插入图片描述

实例二:【重在理解代码本身】

C#中的事件是建立在委托的基础上,标准的事件模型应该包括以下几点:

  • 声明一个用于定义事件的委托,这里用系统自带的泛型委托原型EventHandler,如:public delegate void EventHandler(object sender,TEventArgs e);这里面的TEventArgs是由我们自定义的参数类型,继承自EventArgs基类
  • 事件参数的名称以EventArgs结束
  • 声明事件的委托原型即EventHandler,它的返回值为void
  • 声明事件的委托原型即EventHandler,它有两个参数:sender和e,sender表示事件触发者,e表示事件触发时的参数
  • 事件的声明是在普通委托声明的前面加上,event关键字,如:public event EventHandler FileUploaded;

源码:

文件下载时,要实时更新进度条,这时更新进度的方法就应该由下载类在下载的同时根据实时的下载进度利用事件去同步更新进度条的值。代码如下:
在这里插入图片描述

using System;
using System.Threading;
using System.Windows.Forms;namespace WindowsFormsApp2
{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void ShowProcess(object sender, FileUploaderEventArgs e){//定义委托Action t = () =>{progressBar1.Value = e.FileProgress;label1.Text = e.FileProgress.ToString();};//跨线程操作this.BeginInvoke(t);Thread.Sleep(100);//【注意】:触发事件后的方法要执行完毕,才会退出while中的触发事件代码}private void button1_Click_1(object sender, EventArgs e){FileUploader f1 = new FileUploader();f1.FileUploaded += ShowProcess;                  //绑定事件ThreadPool.QueueUserWorkItem((a) => f1.Upload());//加入线程池}}/// <summary>/// 文件下载类/// </summary>class FileUploader{public event EventHandler<FileUploaderEventArgs> FileUploaded;//定义事件public void Upload(){var e = new FileUploaderEventArgs() { FileProgress = 0 };while (e.FileProgress < 100){//DoSomething();//执行一些下载任务e.FileProgress++;FileUploaded(this, e);//触发事件//Thread.Sleep(100);//【注意】:或者注释掉上边的代码,使用这个,实际中更常用}}}/// <summary>/// 自定义参数/// </summary>class FileUploaderEventArgs : EventArgs{public int FileProgress { get; set; }}
}

运行效果:

在这里插入图片描述

参考:

https://www.cnblogs.com/maitian-lf/p/3654146.html

http://www.hengruixuexiao.com/news/28640.html

相关文章:

  • 刘涛给孩子网站做的广告网络舆情信息
  • 网站建设报价爱站查询工具
  • wordpress模板怎么写seo排名关键词点击
  • 怎么开彩票网站做站长站长工具seo综合查询怎么关闭
  • 亳州是网站建设国际新闻最新消息今天 新闻
  • 八步网站建设seo+网站排名
  • 浙江住房和城乡建设厅网站百度竞价培训班
  • wordpress建设seo顾问是什么
  • 做防水施工 上什么网站找怎么做好市场宣传和推广
  • wordpress怎么编辑网站网站备案查询工信部
  • 手机网站布局seo策略
  • wordpress shortinit百度seo引流
  • 做动态网站用哪个程序软件比较简单?谷歌网页版入口在线
  • 精品课程网站建设意义流量购买网站
  • 江都网站建设seo高手培训
  • 网页配色网站seo是什么意思职业
  • 如何分析网站用户体验2022重大时政热点事件简短
  • 长沙网站建设公司西安百度框架户
  • 公司做网站是做什么账务处理成都专业的整站优化
  • 武汉网站设计公司北京网站建设专业公司
  • 购物网站开发课程设计pc端百度
  • 小程序链接网站自己做关键词点击价格查询
  • 疫情再次传来坏消息seo优化服务公司
  • 科技设计公司网站模板下载头条今日头条新闻
  • 医院网站建设 价格低泉州全网营销优化
  • 咖啡店网站建设模版抖音seo关键词优化
  • 免费网站设计工具搜狗收录
  • 配送系统网站怎么做搜索引擎优化心得体会
  • 淘宝客如何建设推广网站网络营销师培训费用是多少
  • 关于节约化建设网站的表态发言郑州网站优化外包顾问