博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 中自定义事件
阅读量:6200 次
发布时间:2019-06-21

本文共 1247 字,大约阅读时间需要 4 分钟。

自定义事件的步骤:

1.声明委托:

public delegate yourActionEventHandler(Object sender,ArguEvent e);

 

2.声明事件

public event yourActionEventHandler yourAction;

 

3.注册事件:

Class class = new Class();

class.yourAction += new yourActionEventHandler(Object sender,ArguEvent e);

 

4.实现事件处理函数:

public void yourActionEventHandler(Object sender,ArguEvent e)

{

//Here is your code

}

5.触发事件

public void Button1_Click(Object sender,ArguEvent e)

{

    yourAction(this,ArguEvent.Empty);

}

 

实例代码, 在class2中声明、触发事件,在class1中注册,处理事件

class1    {        static void Main(string[] args)        {            class2 ts = new class2();            ts.CloseAction += new    class2.CloseActionEventHandler(ts_CloseAction);            class2 ts2 = new class2();//此处引入第二个Class2的实例 作对比之用            ts.Run();        //ts2.Run(); 该方法如果执行了,编译器会报Class2中的CloseAction未将对象的引用设置到对象的实例,原因就是ts2并没有注册事件。            Console.Read();        }        static void ts_CloseAction(object sender, EventArgs e)        {            Console.WriteLine("触发了Test事件");        }    }    class2    {        public delegate void CloseActionEventHandler(Object sender, EventArgs e);        public event CloseActionEventHandler CloseAction;        public void Run()        {            CloseAction(this, EventArgs.Empty);        }    }

  

转载地址:http://krvca.baihongyu.com/

你可能感兴趣的文章
数据连接 DataDirectory 中的作用
查看>>
Struts2
查看>>
算术运算符和三元运算符
查看>>
七种引起偏头痛的常见食物
查看>>
利用VS2005调节dump文件
查看>>
BZOJ 1430 小猴打架
查看>>
2018.12.4 队测总结+题解
查看>>
【Linux】Centos7安装之后,双系统的情况下,怎么能在CentOS7下访问Windows的磁盘...
查看>>
Java中的数值和集合
查看>>
Code4 APP
查看>>
@synchronized(self)
查看>>
linux——攻防技术介绍|主动攻击|被动攻击
查看>>
线段树复合标记
查看>>
thinkphp使用模块/控制器/操作访问时出现No input file specified.解决方式
查看>>
软件工程概论第一章概括
查看>>
mac 上面安装jdk 1.6
查看>>
概念辨析-Hardware Description还是Hardware Developing?
查看>>
安装MySql数据库
查看>>
python re库入门(正则表达式)
查看>>
SQL 查询问题
查看>>