C#相当于VB.NET'Handles button1.Click,button2.Click'

Jef*_*eff 7 .net c# vb.net winforms

VB.NET中,我可以做到

private sub button_click(sender, e) handles Button1.Click, Button2.Click etc...
do something...
end sub
Run Code Online (Sandbox Code Playgroud)

在C#.NET中有这种方法吗?我有大约16个按钮,它们都调用相同的功能,只是将按钮的文本传递给函数.我宁愿没有16个private void button_clicks调用一个函数.

我不知道怎么做(不熟悉C#).

sll*_*sll 10

Button1.Click += button_click;
Button2.Click += button_click;
Run Code Online (Sandbox Code Playgroud)


Aus*_*nen 7

手动,你可以这样做:

button1.Click += button_Click;
button2.Click += button_Click;
...
Run Code Online (Sandbox Code Playgroud)

在Designer中,Click事件属性实际上是一个下拉菜单,您可以在其中选择具有适当签名的现有方法.


SLa*_*aks 5

C#没有Handles关键字.
相反,您需要显式添加处理程序:

something.Click += button_click;
somethingElse.Click += button_click;
Run Code Online (Sandbox Code Playgroud)