C# 窗体中大批量同一类型控件调用同一事件该怎么实现?

解决方案 »

  1.   

    第一,属性中他们都指向同一个方法
    第二,代码控制button1.Click +=new EventHandler(button1_Click);
    button2.Click +=new EventHandler(button1_Click);
            private void button1_Click(object sender, EventArgs e)
            {
                MessageBox.Show("ok"); 
            }
      

  2.   

    添加代码或直接在设计器中将控件的事件与相应事件处理程序关联即可,如果有不同的处理方式,可以在事件处理程序中判断 Object Sender参数.
      

  3.   

    大家貌似没怎么理解我的意思。
    假如程序中有20个页面,每个页面有一个button,所有的button指向相同的事件,我想把这个事件的实现过程写在某一个类里面,然后页面中这个button直接调用这个事件即可。
      

  4.   

    private void button1_Click(object sender, EventArgs e) 
    {
      调用方法么。。

    还是我理解不对。。
      

  5.   


    btn.Click += new EventHandler(“这块是我想要实现的东西”);
      

  6.   


    button.Click+=new EventHandler("这块是我想要实现的代码");
      

  7.   

    button1.Click +=new EventHandler(Test.button1_Click);
    button2.Click +=new EventHandler(Test.button1_Click);public class Test{
            public static void button1_Click(object sender, EventArgs e)
            {
                MessageBox.Show("ok"); 
            }
    }
      

  8.   

    看到你说页面, asp.net 吗?是不是这样:开始不知道会有多少个控件,
    但是要对某一类型的控件引起的回发做记录?若是 Button, 
    你写个页面基类, 重载
    protected virtual void RaisePostBackEvent (
    IPostBackEventHandler sourceControl,
    string eventArgument
    )
    即可.在重载内, 加上自己的逻辑.要做这个, 你要熟悉页面声明周期中的各个事件的.
      

  9.   

    以下是事件顺序一瞥:........
    End LoadBegin ProcessPostData Second Try 
    End ProcessPostData Second TryBegin Raise ChangedEvents
    控件的属性发生变化的事件响应, 
            比如 DropDownList 的 SelectedIndexChanged, TextBox 的 TextChanged
    End Raise ChangedEventsBegin Raise PostBackEvent
      回发行为的响应, 比如 button click
    End Raise PostBackEventBegin LoadComplete 
    ....
      

  10.   


    我怎么获取到这个事件的句柄??public static void button1_Click(object sender, EventArgs e)
            {
                MessageBox.Show(button.Name);
            }
      

  11.   

    如果是 Winform 的就用 IMessageFilter. 不用管有多少控件.
      

  12.   

    新建一个类Test
     private void btn_Click(object sender, EventArgs e)
     {
         Button btn = (button)sender;
         操作....
     }
    页面调用
    button.Click +=new EventHandler(new Test().btn_Click);