NO.1 委托情况!我想在系统给的函数里加个参数
private void button1_Click(object sender, EventArgs e,Button bt)
{}
?怎么改?
NO.2 调用事件!我想直接调用系统给的函数如:  
private void button1_Click(object sender, EventArgs e)
{}
怎样调用?可以放在其他函数里面用吗?

解决方案 »

  1.   

    第二个  button1_Click(new object(),new EventArgs());
    第一个  try override
      

  2.   

    事件里的参数最好是(object sender, EventArgs e),
    这个是标准,如果需要在事件里添加自定义的其它参数,可能要重新定义一个事件.可以考虑从EventArgs继承一个新的参数类,然后给这个类添加属性等来达到要求.但需要自已来定义触发新的事件,并把新的事件参数做为引发事件的参数.如果要调用事件函数可以直接调用函数,如:
    this.button1_Click(null, null);都用null,是因为没有合适的参数,如果需要这两个参数有意义,那么可以由实际情况传入.
      

  3.   

    应该从 EventArgs继承private void button1_Click(object sender, MyEventArgs e);sender和EventArgs是对应窗口消息的发送者和消息参数的。因此这些event被称为标准事件。它的触发通常被底层Control封装
      

  4.   

    从 EventArgs继承
    能具体点吗?
      

  5.   

    不从EventArgs继承也可以 随便传递一个参数都能行的 
    EventArgs继承只是为了统一 一个约定而已 不是语言规范
      

  6.   

    private void button1_Click(object sender, MyEventArgs e,RadioButton rb)
    {}
    当我这样用是系统报错:
    this.button1.Click += new System.EventHandler(this.button1_Click);
    (button1.click的重载均委托System.EventHandler)
      

  7.   

    using System.Runtime.InteropServices;namespace System
    {
        // 摘要:
        //     表示将处理不包含事件数据的事件的方法。
        [Serializable]
        [ComVisible(true)]
        public delegate void EventHandler(object sender, EventArgs e);
    }
    在从元数据里.该文件不能修改..不能重载!
      

  8.   

    两个参数,够了吧?加什么参数?
    第一个参数是事件源对象,如果这个被用了,那么就写个EventArgs的子类,给他加个属性,把你另外要传的对象给相关属性不就行了,在事件里在向下转换就行了
      

  9.   

    private void button1_Click(object sender, EventArgs e,Button bt)作用是想得到那个button被点击了是吧?
    一般情况下button1_Click(object sender, EventArgs e)的sender就是触发点击事件的那个button,用sender as Button就可以了。
    自己定义EventArgs的时候要符合实际逻辑,比如Click事件是不包含任何信息的,因为它只代表了某个控件被点击,没有额外的信息。而MouseClick就可以包含是哪个鼠标键点击的信息。一般情况下,只要设计合理,不需要再加额外的参数了。
      

  10.   

    不知道消息,就拿事件开刷。哎,这样的人我遇到太多了,已无语
    其实NET很简单
    但你要用它的windows库,却连windows都不知道