//定义事件的参数类型和事件的定义
using System;
using System.Collections.Generic;
using System.Text;
namespace eventtest
{
//事件参数类的定义
class EventArgsClass : EventArgs
{
public EventArgsClass(string str)//参数可以随便定义
{
this.message = str;
}
public string message;
}
//拥有事件的类
class HaveEventClass
{
public HaveEventClass()//参数可以随便定义
{
}
//建立一个委托,后面事件是该委托的一个实例
public delegate void EventClass(EventArgsClass args);
//事件实例
public event EventClass eventInstance;
//一个激活时间的方法
public void ActiveEvent(string str)
{
EventArgsClass eventArgsClass = new EventArgsClass(str);
//触发该事件
eventInstance(eventArgsClass);
}
}
}
//事件的调用和
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace eventtest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
HaveEventClass haveEventClass = new HaveEventClass();
//添加事件的实现方法
haveEventClass.eventInstance += new HaveEventClass.EventClass(haveEventClass_eventInstance);
haveEventClass.ActiveEvent("测试事件");
}
//事件的实现
void haveEventClass_eventInstance(EventArgsClass args)
{
MessageBox.Show(args.message);
}
}
}
项目文件下载