Form上有许多按钮;
点击每个按钮都完成相同的功能;
只是每个按钮的名字不同;
请问如何加单击事件?
不可能每个按钮都加一遍吧。

解决方案 »

  1.   

    右击按钮,点属性,找到那个闪电的图标,找到click,在右边的下拉框里,选择那个事件,则那些按钮的click都会调用同一个事件了
      

  2.   

    foreach(Control ctl this.Page.Controls)
    {
      Button btn=ctl as Button;
      if(btn!=null)
      {
        btn.Click+=new EventHandler(btnClick);
      }
    }
      

  3.   


    this.button1.Click += new System.EventHandler(this.button1_Click);
    this.button2.Click += new System.EventHandler(this.button1_Click);
    this.button3.Click += new System.EventHandler(this.button1_Click);
    this.button4.Click += new System.EventHandler(this.button1_Click);
    this.button5.Click += new System.EventHandler(this.button1_Click);
    this.button6.Click += new System.EventHandler(this.button1_Click);
      

  4.   


    ----------------------------------------------------
    如果里面的方法基本相同怎么办
    比如点击这些按钮后
    被点击的按钮变为绿色
    因为里面要用到this.btn1,this.btn2,
    所以每个方法又有点差别
    怎么实现集中处理呢?
    可不可以把相应的按钮作为参数穿进去?这样实现方法就完全一样了
    ----------------------------------------------------
      

  5.   

       private void btn_Click(object sender, EventArgs e)
            {
                Button btn = (Button)sender;//获得所点击的按钮
               .....//你的操作
            }
      

  6.   


    当然可以作为参数传递,不过你要自己写一个继承于EventArgs的参数类
      

  7.   

    button btn=(button) sender;
    swich(btn.Text)
    {
       case "btn1":
         {
            调用公共方法;
            自己的方法;
            breake;
         }
       case "btn2":
         {
            调用公共方法;
            自己的方法;
            breake;
         }
    }按照上面形式,把他放到一个button事件里,然后点击事件都加载这个事件
      

  8.   

    右击按钮,点属性,找到那个闪电的图标,找到click,在右边的下拉框里,选择那个事件,则那些按钮的click都会调用同一个事件了
      

  9.   

    如果事件里只有button是不同的,这样做就行了。如果还要处理别的不同的对象,例如不同的form, 就把处理过程写在一个函数里,事件调用这个函数。具体怎么做,你最好贴代码。