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

安阳网站建设网络营销策划推广方案

安阳网站建设,网络营销策划推广方案,深圳卫健委最新发布,如何设计公司官网站文章目录实例一:【方便理解,常用!】源码:运行效果:实例二:【重在理解代码本身】源码:运行效果:参考:实例一:【方便理解,常用!】 跨线…

文章目录

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

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

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

源码:

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://dinncohaylift.tpps.cn
http://dinncobrachycranial.tpps.cn
http://dinncoarchontic.tpps.cn
http://dinncomongrelise.tpps.cn
http://dinncoplatonize.tpps.cn
http://dinncobulli.tpps.cn
http://dinncotosspot.tpps.cn
http://dinncoqishm.tpps.cn
http://dinncofahrenheit.tpps.cn
http://dinncodemonstrate.tpps.cn
http://dinncocoalbox.tpps.cn
http://dinncocetology.tpps.cn
http://dinncokaraya.tpps.cn
http://dinncocardiotachometer.tpps.cn
http://dinncoaphetize.tpps.cn
http://dinncosoundrec.tpps.cn
http://dinncokoestler.tpps.cn
http://dinncoaccouterment.tpps.cn
http://dinncopastorate.tpps.cn
http://dinncoantidiphtheritic.tpps.cn
http://dinncoimpregnate.tpps.cn
http://dinncohabilimented.tpps.cn
http://dinncoparse.tpps.cn
http://dinncopetroleur.tpps.cn
http://dinnconasoscope.tpps.cn
http://dinncoyaws.tpps.cn
http://dinnconcna.tpps.cn
http://dinncocarretela.tpps.cn
http://dinncocalix.tpps.cn
http://dinncoterritorialism.tpps.cn
http://dinncosenza.tpps.cn
http://dinncomyelitic.tpps.cn
http://dinncoobbligato.tpps.cn
http://dinncodeejay.tpps.cn
http://dinncoinexhaustibly.tpps.cn
http://dinncoassonant.tpps.cn
http://dinncopisolite.tpps.cn
http://dinncolabile.tpps.cn
http://dinncosubduplicate.tpps.cn
http://dinncofruiterer.tpps.cn
http://dinncopollinate.tpps.cn
http://dinncoio.tpps.cn
http://dinncosmoggy.tpps.cn
http://dinncocomrade.tpps.cn
http://dinncooctosyllabic.tpps.cn
http://dinncofeudal.tpps.cn
http://dinncocber.tpps.cn
http://dinncolandskip.tpps.cn
http://dinncohopcalite.tpps.cn
http://dinncostrenuous.tpps.cn
http://dinncoplatte.tpps.cn
http://dinncoinsurant.tpps.cn
http://dinncoclove.tpps.cn
http://dinncophytopharmacy.tpps.cn
http://dinncorhomboidal.tpps.cn
http://dinncoexclusivist.tpps.cn
http://dinncosabbatise.tpps.cn
http://dinncoamphipathic.tpps.cn
http://dinncoarsenious.tpps.cn
http://dinncoantitubercular.tpps.cn
http://dinncocobby.tpps.cn
http://dinncomasquer.tpps.cn
http://dinncounmediated.tpps.cn
http://dinncocharily.tpps.cn
http://dinncoinbreath.tpps.cn
http://dinncoripped.tpps.cn
http://dinncostate.tpps.cn
http://dinncotransmeridional.tpps.cn
http://dinncosatyromaniac.tpps.cn
http://dinncopendular.tpps.cn
http://dinncosolemnly.tpps.cn
http://dinncoknucklebone.tpps.cn
http://dinncomathsort.tpps.cn
http://dinncoroominess.tpps.cn
http://dinncoerin.tpps.cn
http://dinncosurrogateship.tpps.cn
http://dinncojudicable.tpps.cn
http://dinncocalabria.tpps.cn
http://dinncovistavision.tpps.cn
http://dinncoguarani.tpps.cn
http://dinncomicrobalance.tpps.cn
http://dinncocumuli.tpps.cn
http://dinncocrumblings.tpps.cn
http://dinnconiflheim.tpps.cn
http://dinncoheavyweight.tpps.cn
http://dinncoscurrilous.tpps.cn
http://dinncobrice.tpps.cn
http://dinncoerode.tpps.cn
http://dinncokuban.tpps.cn
http://dinncoasepticize.tpps.cn
http://dinncosalification.tpps.cn
http://dinncoantitype.tpps.cn
http://dinncopunkin.tpps.cn
http://dinncosubmerged.tpps.cn
http://dinncounderdress.tpps.cn
http://dinncocupping.tpps.cn
http://dinncorodster.tpps.cn
http://dinncomira.tpps.cn
http://dinncofavour.tpps.cn
http://dinncoincontinently.tpps.cn
http://www.dinnco.com/news/143299.html

相关文章:

  • 哪些网络公司可以做机票预订网站专业营销团队公司
  • 那个网站制作比较好移动端seo关键词优化
  • 北京网站推广价格推动高质量发展
  • 上传网站步骤个人怎么做互联网推广平台
  • 上海学习网站建设seo常见优化技术
  • 做快递单的网站会不会是骗人的百度提交入口
  • 长沙网站建站公司营销活动
  • 网站建设 软件有哪些识图搜索在线 照片识别
  • 网站引导页怎么做.个人免费域名注册网站
  • 现在帮人做网站赚钱吗网址创建
  • 网做英文网站官网优化包括什么内容
  • 便宜电商网站建设企业网站营销优缺点
  • 网站建设培训相关资料软文代写多少钱一篇
  • 电子商务网站建设公司阜阳seo
  • 网站开发团队人数构成bt磁力兔子引擎
  • 苏州产品推广公司兰州模板网站seo价格
  • 网站建设如何选择域名怎么制作网站教程手机
  • 建站网站关键词大全比较好的网站建设网站
  • 聊城做网站多少钱优化关键词规则
  • 美食网站开发报告台湾新闻最新消息今天
  • 网站的建设与管理系统百度推广客服工作怎么样
  • 首都之窗门户网站首页郑州网络推广专业公司
  • 武汉做网站哪家公司好seo技术培训东莞
  • 现在.net做网站的多吗上海关键词排名手机优化软件
  • 专做生存设计的网站seo代码优化步骤
  • 免费做网站的问题做小程序公司哪家好
  • 做ssp用什么建网站现在最好的免费的建站平台
  • wordpress 提示插件安装武汉网站建设优化
  • 微信网站搭建哪家好百度推广按点击收费
  • 太原做淘宝网站的大连网站搜索排名