事件处理程序

原创 2006年05月23日 13:51:00
using System;
//步骤1:声明委托对象
              
public delegate void MyHandler1(object sender,MyEventArgs e);
public delegate void MyHandler2(object sender,MyEventArgs e);

//步骤2:创建事件处理函数的方法
class A{
public const string m_id="Class A";
public void OnHandler1(object sender,MyEventArgs e){
Console.WriteLine("I am in OnHandler1 and MyEventArgs is {0}",
e.m_id);
}
public void OnHandler2(object sender,MyEventArgs e){
Console.WriteLine("I am in OnHandler2 and MyEventArgs is {0}",
e.m_id);
}
//步骤3:创建委托对象,并事件处理函数包含在其中同时设置好将要触发事件的对象
public A(B b){
MyHandler1 d1=new MyHandler1(OnHandler1);
MyHandler2 d2=new MyHandler2(OnHandler2);
b.Event1 +=d1;
b.Event2 +=d2;
}
}

//步骤4:通过委托对象(也就是触发事件)来调用被包含的方法
class B{
             //事件类型(事件类型必须和代理类型中一致)
public event MyHandler1 Event1;
public event MyHandler2 Event2;
public void FireEvent1(MyEventArgs e){
if(Event1 != null){
Event1(this,e);
}
}
public void FireEvent2(MyEventArgs e){
if(Event2 != null){
Event2(this,e);
}
}
}



public class MyEventArgs:EventArgs
{
public string m_id;
}




public class Driver{
public static void Main(){
B b= new B();
A a= new A(b);
MyEventArgs e1=new MyEventArgs();
MyEventArgs e2=new MyEventArgs();
e1.m_id ="Event args for event 1";
e2.m_id ="Event args for event 2";
b.FireEvent1(e1);
b.FireEvent2(e2);
}
}

相关文章推荐

C#编程之委托与事件(一)

本文试图在.net Framework环境下,使用C#语言来描述委托、事件的概貌。希望本文能有助于大家理解委托、事件的概念,理解委托、事件的用途,理解它的C#实现方法,理解委托与事件为我们带来的好处。...

利用反射获得委托和事件以及创建委托实例和添加事件处理程序

最近一些都在看关于反射的内容,然后在网上大多数都是通过反射获得类型中方法,属性、字段这样的文章, 但是对于如何获得委托类型怎么去实现的却没有, 所以写下这边篇文章来让自己以后很好的复习以及想了解的朋友...

C#编程之委托与事件(二)

二、事件   1.了解概念      事件就是当对象或类状态发生改变时,对象或类发出的信息或通知。发出信息的对象或类称为"事件源",对事件进行处理的方法称为"接收者",通常事件源在发出状态改变信息...

跨浏览器事件处理程序

  • 2015年05月24日 17:52
  • 2KB
  • 下载

声明第0级事件处理程序

  • 2016年06月12日 10:56
  • 2KB
  • 下载

javascript事件处理程序

事件处理程序有两种方式: 1.html时间处理:如 这种方式把js代码写在html里面 2.js封装处理如: function showmessage() { alert("33"); }...

Ajax 设置事件处理程序

  • 2012年01月08日 12:31
  • 32KB
  • 下载

C#自定义事件处理程序

  • 2010年04月21日 10:28
  • 33KB
  • 下载

DOM事件处理程序

事件就是用户或浏览器自身执行的某种动作。比如“click”,“load”,“mouseover”等都是事件的名字。响应某个事件的函数就叫做事件处理程序(或事件侦听器)。事件处理程序的名字以“on”开头...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:事件处理程序
举报原因:
原因补充:

(最多只允许输入30个字)