In VB.NET I can do
private sub button_click(sender, e) handles Button1.Click, Button2.Click etc... do something... end sub
C# does not have the Handles
keyword.
Instead, you need to add the handlers explicitly:
something.Click += button_click;
somethingElse.Click += button_click;
btn1.Click += button_click;
btn2.Click += button_click;
is the answer
Button1.Click += button_click;
Button2.Click += button_click;
Manually, you can do this:
button1.Click += button_Click;
button2.Click += button_Click;
...
In the Designer, the Click event property is actually a drop-down menu where you can choose among existing methods that have the appropriate signature.
Try this:
button1.Click += button_click;
button2.Click += button_click;
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: