自定义事件(如未作说明,本博客文档都是用C#代码)

 1//定义代理
 2public delegate void ConnectionErrorDelegate(ConnectionStatus status, string msg);
 3//定义代理事件
 4public event ConnectionErrorDelegate ConnectionErrorEvent;
 5//定义代理对象
 6private ConnectionErrorDelegate deleg = null;
 7//定义代理的方法
 8deleg = new ConnectionErrorDelegate(service_ConnectionErrorEvent);
 9//将代理对象赋值给service对象的代理事件
10            service.ConnectionErrorEvent += deleg;
11//触发这个事件
12ConnectionErrorEvent(status, errmsg);
先来分析一下,之前,我们常用了已经定好的代理和事件,我们要作的就是实例化代理对象,也就是真真要执行的方法,代理事件,和代理早就在.net组件中了,拿按钮的单击事件来说
我们在设计器中看到的是 this.button1.Click += new System.EventHandler(this.button1_Click);
其中的EventHandler
    // 摘要:
    
//     表示将处理不包含事件数据的事件的方法。
    [Serializable]
    [ComVisible(
true)]
    
public delegate void EventHandler(object sender, EventArgs e);
而this.button1.Click则是
   //
        
// 摘要:
        
//     在单击控件时发生。
        public event EventHandler Click;
现在大家明白了,我们要做的是定义个和代理相同参数的方法,将这个代理方法的入口给事件,点击按扭,就可以了
在单击按钮时,应该是产生了Click(boject,e.empter);的方法,这里面的参数是乱写的,大概就是表示鼠标的一些参数
具体思路就是这样,有什么不明白的可以加我的群聊
微软BI技术交流群:316744959 武汉NET技术群:961108969 NET技术群:21386099 本人具有丰富的系统开发经验,承接系统开发,小程序,NET系统开发,BI开发,有需求联系微信手机:15010195887
原文地址:https://www.cnblogs.com/Impulse/p/1199001.html