Button b1 = new Button();
            b1.Click += new EventHandler(b1_Click);            Button b2 = new Button();
            b2.Click += ???假如有两个按钮事件,我想把b1的点击事件赋值给b2,
就像
int i1=20;
int i2=i1;OK??????当然,直接写b2.Click +=new EventHandler(b1_Click);也是可以的,但是这样要改的话就麻烦了,而且按钮很多。

解决方案 »

  1.   

    b2.Click +=new EventHandler(b1_Click);就一句啊 你还想怎么简单
      

  2.   

    应该可以,定义一个公共的按钮事件委托.
    public event btnClickEventHander btnClick;
      

  3.   


    例子1:
    int i1=20;
    int i2=i1;
    int i3=i1;
    int i4=i1;例子2:
    int i1=20;
    int i2=20;
    int i3=20;
    int i4=20;
    我想要的是例子1的效果
      

  4.   

    可以的.测试可以执行.private void Form1_Load(object sender, EventArgs e)
            {
                button1.Click += btn_Click;
                button2.Click += btn_Click;
                button3.Click += btn_Click;
            }        private void btn_Click(object sender, EventArgs e)
            {
                MessageBox.Show("","");
            }
      

  5.   

    楼主的意思然道是像这样button1.Click = button2.Click;
    这样好像不行的
    事件他比较特殊 我们在类中定义了一个事件,他看上去好像是类的一个字段其实不是
    通过查看事件定义的IL代码可以发现,我们定义的事件他是一个类似方法的东西
    同时系统会给我们创建一个private的代理对象,这个对象的名字和我们定义的事件名是一样的。
    而我们在类外部能调用的只是我们自己定义的那个事件(其实像一个方法),也就是只能订阅或取消事件。
      

  6.   


    BTTTON继承下来重写http://topic.csdn.net/u/20110331/17/08451c7b-d9af-4a94-882c-84e81dab2efc.html
      

  7.   


    自定义控件?BUTTON继承下来在里边写你自己要的东西然后封装呢?
      

  8.   

    大概了解楼主的意思,我也不会事件的赋值。不过你试试看控件数组能不能替你绕开这个问题。        Button[] btns = new Button[9];        private void ShowButtonArray()
            {
                for(int i = 0; i < 9; i++)
                {
                    btns[i] = new Button();    //这一句往往为初学者忽视,须知要创建对象的实例!
                    btns[i].Location = new System.Drawing.Point(100 + 50 * (i % 3),100 + 50 * (i / 3));
                    btns[i].Name = "btnTest";
                    btns[i].Size = new System.Drawing.Size(48, 48);
                    btns[i].Text = i.ToString();
                    btns[i].Click += new System.EventHandler(this.btns_Click);    //统一的事件处理
                    this.Controls.Add(btns[i]);    //在窗体上呈现控件
                }
            }        private void btns_Click(object sender, System.EventArgs e)
            {
                MessageBox.Show(((Button)sender).Text + " was clicked !");    //通过sender判断激发事件的控件
            }        private void Form1_Load(object sender, System.EventArgs e)
            {
                ShowButtonArray();
            }
      

  9.   

    还有个办法,重载一个Button,事件注册里加上你要的btn_Clieck。