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#怎么为控件添加自定义事件及自定义触发”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注主机评测网行业资讯频道。


上一篇:vue样式叠层z-index不起作用怎么解决

下一篇:vue怎么使用自定义指令实现按钮权限展示功能


Copyright © 2002-2019 测速网 www.inhv.cn 皖ICP备2023010105号
测速城市 测速地区 测速街道 网速测试城市 网速测试地区 网速测试街道
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!

热门搜索 城市网站建设 地区网站制作 街道网页设计 大写数字 热点城市 热点地区 热点街道 热点时间 房贷计算器