通常C#自定义事件有下面的几个步骤:
1、声明一个delegate: (用于事件的类型的定义)
如:
public delegate void 事件名称EventHandler(object serder, EventArgs e);
//事件名称用你的自己的来代替,随后的EventHandler是C#的建议命名规范,当然如果你不想遵守,可以使用任何字符甚至可以不要。
如果你想自定义事件的参数EventArgs,你可以从这个类派生你自己的事件参数类,然后在delegate的声明中,用你的参数类替换EventArgs
注:要全面了解自定义事件的原理,你需要学习有关delegate的知识。
2、在你的类中声明一个事件,并且使用步骤1的delegate作为事件的类型
public event 事件名称EventHandler 事件名称;
3、在你的类中需要触发事件的方法中,添加事件触发代码:
事件名称(this, new EventArgs());
或者:
if(事件名称!=null)
事件名称(this, new EventArgs());
//如果使用你自己的事件参数类,你可以用你的参数类事例替换new EventArgs(), 同时在你的参数类中保存你需要传递的数据。
4、C#自定义事件注册:
事件注册和普通的事件注册没有不同,也就是说如果一个外部的对象在你的事件被触发的时候需要作出响应,那么你可以在外部了构造器中(或者适当的地方)对事件进行注册
带有事件的类实例.事件名称+= new 事件名称EventHandler( 事件处理方法名称);
5、编写事件处理方法:
public void 事件处理方法名称(object sender, EventArgs e)
{
//添加你的代码
}
注:如果你在类中处理自己的触发事件,你可以选择C#自定义事件步骤4和5的方式,也就是注册自己,也可以在触发事件代码中直接调用事件处理方法。
分享到:
相关推荐
自己写的定义事件的东西..感觉挺简单的...
c#自定义事件分为六步,声明关于事件的委托,声明事件,编写引发事件的函数,事件处理,这里我们就来具体的介绍一下。 C#自定义事件的具体实现步骤如下: 1、声明一个delegate: (用于事件的类型的定义) 如: 代码如下...
希望事件响应代码推迟到使用自定义控件的窗体里写。 步骤一:新建一个用户控件,放两个按钮,Tag分别是btn1,btn2. 这两个按钮的共用单击事件处理代码如下: using System; using System.Collections....
自定义步骤控件封装库
C#_自定义控件入门教程 要想在VS 2005 winform 中编辑C#自定义控件,步骤如下
在写代码前我们先来熟悉.net框架中和事件有关的类和委托,了解C#中预定义事件的处理。 EventArgs是包含事件数据的类的基类,用于传递事件的细节…………
主要介绍了C#中自定义事件和委托实例的,本文先是阐述了事件的原理,然后讲解了事件和委托的步骤,并给出了实例代码,需要的朋友可以参考下
C# 事件委托简单封装示例,按照基本步骤实现对事件委托的一个简单封装。通常可封装在自定义控件,或者业务方法中
主要介绍了C#实现用户自定义控件中嵌入自己的图标,较为详细的分析了C#实现自定义控件中嵌入图标的具体步骤与相关实现技巧,需要的朋友可以参考下
C#在程序中定义和使用自定义事件可以分为以下几个步骤: 步骤1:在类中定义事件 using System; public class TestClass { //.... public event EventHandler TestEvent } 步骤2:定义事件参数 注意:事件参数类...
使用C#画出仪表和进度条控件,打开后只需生成解决方案且将dll文件引入主系统即可
介绍WebService基础知识,并使用C#实现操作WebService的基本步骤。
3.如果需要,为方法的参数和返回值指定自定义封送处理信息,这将重写 .NET Framework 的默认封送处理。 好,我们开始 1.首先我们查询MSDN找到GetShortPathName的定义 The GetShortPathName function retrieves the...
VS2008自定义安装程序,包括快捷方式和卸载
用C++对CAD进行二次开发,自定义实体的创建与应用,步骤详细,易于理解!
本文介绍使用C#制作屏幕保护的方法,这个屏幕保护就是仿效视窗系统自带的字幕屏保。下面是用C#如何编写屏幕保护的整个过程
foreach遍历是C#常见的功能,而本文通过实例形式展现了C#使用yield关键字让自定义集合实现foreach遍历的方法。具体步骤如下: 一般来说当我们创建自定义集合的时候为了让其能支持foreach遍历,就只能让其实现...
我主要讨论从dll 中导出函数,基本步骤如下: 1.使用C# 关键字static 和extern 声明方法。 2.将DllImport 属性附加到该方法。DllImport 属性允许您指定包含该方法的DLL 的名 称。 3.如果需要,为方法的参数和...