c#语法:委托与事件 -ag凯发k8国际
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 gogogomyform: 我知道你被执行了!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#语法:委托与事件的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: c#语法:委托与方法
- 下一篇: c#语法:多线程编程(thread)