none
C#中有没有类似VB.net的“共享”事件? RRS feed

  • 问题

  • 在C#中有没有类似于VB.NET中的“    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click, Button1.Click“ 类似语法,即不同的单击事件可以共享为一个事件,然后通过Sender来区别是哪个按钮点击的呀?

    2008年10月10日 13:53

答案

  •  

    button1.Click+=new System.EventHandler(button_Click);
       button2.Click+=new System.EventHandler(button_Click);

       private void button_Click(object sender,EventArgs e)
       {
            Button btn=sender as Button;

            if(btn !=null)

            {

               switch(btn1.ID)

               {

                   case "button1": //button1按钮被点击

                     //...

                     break;

                   case "button2"://button2按钮被点击

                     //...

                     break;

                  ...

               }

            }
        }

    2008年10月12日 6:36

全部回复

  • 可以,c#的语法是

    button1.Click += new System.EventHandler(this.button_Click);

    button2.Click += new System.EventHandler(this.button_Click);

    2008年10月10日 14:15
  • 你好!
       太可以了,像下面这样使用:
       button1.Click+=new System.EventHandler(button_Click);
       button2.Click+=new System.EventHandler(button_Click);

       private void button_Click(object sender,EventArgs e)
       {
            ....
        }
    2008年10月11日 1:18
    版主
  •  

    button1.Click+=new System.EventHandler(button_Click);
       button2.Click+=new System.EventHandler(button_Click);

       private void button_Click(object sender,EventArgs e)
       {
            Button btn=sender as Button;

            if(btn !=null)

            {

               switch(btn1.ID)

               {

                   case "button1": //button1按钮被点击

                     //...

                     break;

                   case "button2"://button2按钮被点击

                     //...

                     break;

                  ...

               }

            }
        }

    2008年10月12日 6:36