怎样重写已定义的时间比如onclick事件,我想传个其他参数进去,除了object和eventarg

解决方案 »

  1.   

    也可以重写EventArgs,加自已的参数   public delegate void OnClickEventHandler(object sender,MyEventArgs e); public partial class Form1 : Form
        {        public event OnClickEventHandler MyOnClick;
        }    public class MyEventArgs : EventArgs
        {
            private string _para;        public MyEventArgs(string para)
            {
                _para = para;
            }        public string Param
            {
                get
                {
                    return _para;
                }
            }
        }
    多加个也可以呀,写个事件委托public delegate void OnClickEventHandler(object sender,EventArgs e,string myPara);
     public partial class Form1 : Form
        {        public event OnClickEventHandler MyOnClick;
        }
      

  2.   

    public delegate void AHandler(自定义参数列表); (在class外声明该事件代理)public event AHandler MyOwnButtonClick;    (class内部声明该事件代理对象)然后在原click事件中可以写入:private void button_click(object sender, EventArgs e)
    {
        if(null != MyOwnButtonClick)
        {
            MyOwnButtonClick(自定义参数列表)
        }
    }
    接下来在需要使用该控件的其他容器控件中定义该控件和重写自己的MyOwnButtonClick或者最简单也不需要用事件代理,直接在该class内部定义一个方法,加在onclick事件中就可以。