C# equivalent to VB.NET 'Handles button1.Click, button2.Click'

后端 未结 6 1040
抹茶落季
抹茶落季 2021-01-12 08:15

In VB.NET I can do

private sub button_click(sender, e) handles Button1.Click, Button2.Click etc...
do something...
end sub
6条回答
  •  情话喂你
    2021-01-12 08:44

    If you want to keep it maintainable, I would go with something like this:

    //btnArray can also be populated by traversing relevant Controls collection(s)
    Button[] btnArray = new Button[] {button1, button2};
    foreach(Button btn in btnArray) {
      btn.Click += button_Click;
    }
    

    Any refactoring to this code is done via a single point of maintenance. For example:

    • You decide to bind to a custom button class with a custom event, i.e. MyClick.
    • You decide to change logic of how buttons are collected, add or remove buttons.
    • You figure button_Click is a bad name, or need to have conditional event binding.

提交回复
热议问题