一般的winfrom事件只传两个参数object sender, EventArgs e我现在要传5个参数object sender, EventArgs e, string cmd, string par,string pv怎么弄

解决方案 »

  1.   

    继承新参数类:
    public class DoSomethingEventArgs : EventArgs
            {
                private String _Cmd;
                public String Cmd
                {
                    get { return _Cmd; }
                    Set { _Cmd = value; }
                }            ...            public DoSomethingEventArgs(String cmd, ...)
                {
                    _Cmd = cmd;
                    ...
                }
            }
    定义委托:
    public delegate void DoSomethingEventHandler(object sender, DoSomethingEventArgs e);
    定义事件:
    public event DoSomethingEventHandler DoSomething;
      

  2.   

    换个思路呗, 
    可以为string cmd, string par,string pv这三个参数
    定义3个private 变量
      

  3.   

    这就不是一两段代码了。可以看MSDN
    http://msdn.microsoft.com/zh-cn/library/w369ty8x.aspx
      

  4.   

    重写你要改事件的控件,在像foreachif说得那样重新定义事件。
    当然事件触发还是要靠原先微软定义的事件触发,这个c#中是改不了的