C#怎么为控件添加自定义事件及自定义触发
本文小编为大家详细介绍“C#怎么为控件添加自定义事件及自定义触发”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#怎么为控件添加自定义事件及自定义触发”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
先随便搞个事件吧
publicclassTestEventrgs:EventArgs{privatestring_name;publicstringName{get{return_name;}}privateint_age;publicintAge{get{return_age;}}publicTestEventrgs(stringname,intage){_name=name;_age=age;}}
分两种,自定义控件和winfrom下的已有控件
先来个自定义控件吧
随便搞个界面
上马
usingSystem;usingSystem.Collections.Generic;usingSystemponentModel;usingSystem.Drawing;usingSystem.Data;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespaceCSDN{publicpartialclassUserControl1:UserControl{intClickNuM=0;//点击次数publiceventEventHandler<TestEventrgs>TestEventrg;//自定义的事件publicUserControl1(){Initializponent();this.TestEventrg+=newEventHandler<TestEventrgs>(DangeTip);//自定义事件绑定的方法}privatevoidDangeTip(objectsender,TestEventrgse){stringtool=string.Format("危险提示:{0}你小子别狂点,仗着{1}岁手速快是吧!?",e.Name,e.Age);MessageBox.Show(tool);}protectedoverridevoidOnClick(EventArgse){base.OnClick(e);ClickNuM++;if(ClickNuM>5){//触发自定义事件this.TestEventrg?.Invoke(this,newTestEventrgs("ming",17));//输入的参数可以自己传入ClickNuM=0;}}}}
放到界面上,狂点之后
接下来是winfrom下的已有控件,以button为例子
先添加一个组件
改为继承 Button,并添加相应的自定义事件
usingSystem;usingSystem.Collections.Generic;usingSystemponentModel;usingSystem.Diagnostics;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespaceCSDN{publicpartialclassMyButton:Button{publicMyButton(){Initializponent();}publiceventEventHandler<TestEventrgs>TestEventrg;publicMyButton(IContainercontainer){container.Add(this);Initializponent();}}}
将组件从工具箱添加到界面,添加对应方法
usingSystem;usingSystem.Collections.Generic;usingSystemponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespaceCSDN{publicpartialclassForm2:Form{publicForm2(){Initializponent();}intClickNuM=0;privatevoidmyButton1_TestEventrg(objectsender,TestEventrgse){stringtool=string.Format("危险提示:{0}你小子别狂点,仗着{1}岁手速快是吧!?",e.Name,e.Age);MessageBox.Show(tool);}privatevoidmyButton1_Click(objectsender,EventArgse){ClickNuM++;if(ClickNuM>5){myButton1_TestEventrg(this,newTestEventrgs("lang",88));ClickNuM=0;}}}}
运行之后,狂点。触发
读到这里,这篇“C#怎么为控件添加自定义事件及自定义触发”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注主机评测网行业资讯频道。
webacc.exe是什么文件?webacc.exe是不是病毒
WINSYS.vbs是什么文件?WINSYS.vbs是不是病毒
winssh.exe是什么文件?winssh.exe是不是病毒
wt.exe是什么文件?wt.exe是不是病毒
winsysetm.exe是什么文件?winsysetm.exe是不是病毒
winstrve.exe是什么文件?winstrve.exe是不是病毒
winsysupd7.exe是什么文件?winsysupd7.exe是不是病毒
winsysupd.exe是什么文件?winsysupd.exe是不是病毒
winsysupd2.exe是什么文件?winsysupd2.exe是不是病毒
winsysupd8.exe是什么文件?winsysupd8.exe是不是病毒