有几个按钮,他们点击时,调用一个方法时的参数不同,不想一个一个给他们click事件,有什么简单的方法么?

解决方案 »

  1.   

    //如果参数比较复杂,保存到按钮的Tag属性里好了
    void BtnClick(sender,e)
    {
       Button btn = sender as Button;
       MessageBox.Show(btn.Text);
    }//伪码,自己相应的改改,添到窗体的代码中
    按钮的Click事件,下拉中选择BtnClick
      

  2.   

    很简单,这么写就好了:
    把多个Button的Click事件处理程序设置为button_Click        private void button_Click(object sender, EventArgs e)
            {
                Button bt = sender as Button;
                switch (bt.Name )
                {
                    case "button2":
                        MessageBox.Show("button2 click!");
                        break;
                    case "button3":
                        MessageBox.Show("button3 click!");
                        break;
                }
            }
      

  3.   

    switch中能用字符串吗?
    if  (sender == button1) ...
    else if (sender == button2) ...
    else if ...