小弟初学C#,现在假设有3个textBox1,textBox2,textBox3,3个按钮 button1,button2,button3,单击事件分别是       private void button1_Click(object sender, EventArgs e)
        {             textBox1.text="";     //代码        }        private void button2_Click(object sender, EventArgs e)
        {                textBox2.text="";      //代码        }        private void button3_Click(object sender, EventArgs e)
        {            textBox3.text="";     //代码        }每个按钮还有很多代码,做的都是同样的事,怎么样只编写一个按钮的代码,就可以实现3个按钮的代码,我问一些网友,说要定义事件,我看了书,感觉很模糊,希望知道的人说一下,贴出代码,感谢了。

解决方案 »

  1.   

    那就抽出一个共通的方法:button_Click(object sender, EventArgs e)然后在Form_Load里添加事件监听:
    this.button1.Click += new System.EventHandler(this.button_Click);
    private void Form1_Load(object sender, EventArgs e)
            {
                this.button1.Click += new EventHandler(button_Click);
                this.button2.Click += new EventHandler(button_Click);
                this.button3.Click += new EventHandler(button_Click);        }        void button_Click(object sender, EventArgs e)
            {
                Button btn = (Button)sender;
                MessageBox.Show(btn.Text);
            }
      

  2.   

    Button btn = (Button)sender;
    这样你就能知道是哪个Button按下了。
      

  3.   

    楼主每个事件中做的事都不一样,如此就没有必要写在一起,即使写在一起还是要判断是哪个TextBox触发的事件。没必要
      

  4.   

    button1.Click +=delegate(object sender,EventArgs e)
    {
     Button sender as Button;
    };
    this.button1.Click += new EventHandler(button_Click);
    this.button2.Click += new EventHandler(button_Click);void button_Click(object sender, EventArgs e)
            {
                Button btn = sender as Button;
            }