事件是C#中的高级概念,和js中的鼠标点击$("tag").click,悬停$("tag").hover或css元素样式的改变(onChanged)等事件,当事件触发才执行我们所委托的方法。
步骤:
1、创建一个委托;
2、将创建的委托与特定事件关联;
3、编写C#事件处理程序;
4、利用编写的C#事件处理程序生成一个委托实例;
5、把这个委托实例添加到产生事件对象的事件列表中去(+=),这个过程又叫订阅事件。取消的方式是(-=)
点击才执行,不点击不执行:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Example_EventTest
{
class JudgeEvent
{
//定义一个委托
public delegate void delegateClick();
//定义一个事件
public event delegateClick eventClick;
//引发事件的方法
public void onClick()
{
eventClick();//被引发的事件
}
}
class DoClick
{
//定义事件处理方法
public void doC()
{
Console.WriteLine("鼠标被点击了");
}
}
class Program
{
static void Main(string[] args)
{
DoClickrunsport = new DoClick();//实例化事件发布者
JudgeEvent JudgeE= new JudgeEvent();//实例化事件订阅者
//订阅事件
JudgeE.evenClick+=new JudgeE.delegateClick(DoClick.doC);
//引发事件
JudgeE.onClick();
Console.ReadKey();
}
}
}