C# 委托和事件:一个简单的例子

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 委托和事件:一个简单的例子相关的知识,希望对你有一定的参考价值。

一个好的 IDE 把大量应该 coding 的部分都省掉了,比如说 windows form 应用程序,在 VS 里直接拖放控件,F4 属性窗口中可以设置大量的初始属性,包括事件和响应。通过 VS 自动生成的代码,来看看 windows form 应用程序在事件方面是如何处理的。

新建一个 windows form 应用程序,往默认的窗体上拖放一个按钮 button1

技术分享

这里可以通过 F4 属性窗口设置按钮的文本、位置、大小等一切属性。包括事件和事件的响应程序:

技术分享

在解决方案管理器中打开 Form1.Designer.cs,其中有一句:

this.button1.Click += new System.EventHandler(this.button1_Click);

显然,这里为 button1 的 Click 事件绑定了一个 EventHandler,这个 EventHandler 是  button1_Click。

在对象浏览器中找到 Click 事件的定义:

public event System.EventHandler Click

很显然,和之前写的那些基本的事件定义一毛一样。再找到 System.EventHandler 的定义:

public delegate void EventHandler(object sender, System.EventArgs e)

总结下使用事件的基本流程:定义一个委托,用这个委托定义一个事件,再把和委托签名一样的方法绑定到这个事件上去就齐活儿了。

如果要使用泛型的委托,则有定义:

public delegate void EventHandler<TEventArgs>(object sender, TEventArgs e)

 

to be continue

 

以上是关于C# 委托和事件:一个简单的例子的主要内容,如果未能解决你的问题,请参考以下文章

C#一个关于委托和事件通俗易懂的例子

C#委托与事件

C#委托与事件

C#委托与事件的简单使用

Unity游戏开发C#基础委托与事件

C#综合揭秘——深入分析委托与事件