C# 中如何自定义事件?

来源:岁月联盟 编辑:zhu 时间:2003-07-12
Wason (zhuhai)
    本次只用一个实例,来说明在C#中如何使用自定义事件。
写一个类,此类包含了自定义事件: onSendMsg。
文件名:ChatServer.cs
public class ChatServer
{
    public delegate void MyEventHandler(string msg);
    public event MyEventHandler onSendMsg;
    public void SendMsg()
    {
        onSendMsg("开始发送消息!");
    }
}
文件名:Form1.cs
///////////////////////////////////
//类事件的处理代码如下
private void SendMsgTest()
{
    //创建ChatServer类的实例
    Server f_Server;
    f_Server = new Server();
    f_Server.onSendMsg += new Server.MyEventHandler(this.OnSendMsg);
    //调用 f_Server的SendMsg()函数
    f_Server.SendMsg();
}
//处理 onSendMsg 事件代码
protected void OnSendMsg(string msg)
{
    //输出调试信息
    Console.WriteLine(msg);
}