欢迎访问 生活随笔!

ag凯发k8国际

当前位置: ag凯发k8国际 > 编程语言 > c# >内容正文

c#

c#语法:委托与事件 -ag凯发k8国际

发布时间:2024/10/14 c# 28 豆豆
ag凯发k8国际 收集整理的这篇文章主要介绍了 c#语法:委托与事件 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
在c#中,每一个事件都是依靠委托来完成的。本次写的是如何编写自定义事件。其实不难,按步骤来就行... using system; using system.collections.generic; using system.componentmodel; using system.data; using system.drawing; using system.linq; using system.text; using system.threading.tasks; using system.windows.forms;namespace csharp窗体练习 {public delegate void showcounterdel(string str);//【1】声明个委托public partial class eventdemo : form{public event showcounterdel showcounterevent; //【2】定义个事件void onclickevent(string str) //【3】事件内容{console.writeline("myform: 我知道你被执行了!" str);}public void run() //【5】触发事件的方法{if (showcounterevent != null){console.writeline("run gogogo");showcounterevent("showcounterevent gogogo");}}public eventdemo(){initializecomponent();console.writeline("eventdemo initial");showcounterevent = new showcounterdel(onclickevent); //【4】将事件内容和事件对象联系起来}private void eventdemo_load(object sender, eventargs e){run(); //【6】调用事件触发方法}} }

控制台输出:

eventdemo initial

run gogogo

myform: 我知道你被执行了!showcounterevent gogogo


代码说明:自定义事件主要分为六步:

【1】、声明一个委托。之前有提到过,委托的返回值和参数与需要关联的方法一致。

【2】、定义一个事件。关键字event 委托名 事件名

【3】、事件内容:触发事件后执行的代码。

【4】、将事件内容和事件对象通过委托联系起来

【5】、编写触发事件的方法:也是触发事件的条件

【6】、执行触发事件的方法。


按照这些步骤,实现如下功能:一个窗体中有一个查询按钮,单击该按钮可以显示查询出来的数据,在此基础上增加一个功能,在窗体加载的时候执行查询按钮事件里的所有内容。换句话说就是在界面加载的时候,系统自动单击一次查询按钮。

窗体界面设计如图所示:一个查询按钮(btnsearch) 和一个label


代码如下:

using system; using system.collections.generic; using system.componentmodel; using system.data; using system.drawing; using system.linq; using system.text; using system.threading.tasks; using system.windows.forms;namespace csharp窗体练习 {public delegate void loadpagehandler(object sender, eventargs e);//【1】声明个委托public partial class eventdemo : form{public event loadpagehandler loadpageevent; //【2】定义个事件public void pageloadrun()//【5】触发事件的方法{if (loadpageevent != null){loadpageevent(this, null);}}public eventdemo(){initializecomponent();loadpageevent = new loadpagehandler(btnsearch_click); //【4】将事件内容和事件对象联系起来}private void eventdemo_load(object sender, eventargs e){pageloadrun(); //【6】调用事件触发方法}private void btnsearch_click(object sender, eventargs e) //【3】事件内容{label1.text = "假装这里是查询出来的数据";}}}

执行之后,当页面加载出来后就如图所示。


总结

以上是ag凯发k8国际为你收集整理的c#语法:委托与事件的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得ag凯发k8国际网站内容还不错,欢迎将ag凯发k8国际推荐给好友。

网站地图