use*_*438 1 c# event-handling winforms
在我的C#项目中,我正在创建一个Hangman游戏,其中包含一组按钮,其中包含从A到Z的字母.单击时所有这些按钮将执行相同的方法.我不想逐个为每个事件创建一个事件处理程序.那么如何为所有这些按钮创建一个SINGLE事件处理程序呢?
为所有按钮订阅相同的处理程序并使用sender获取引发事件的按钮:
void Button_Click(object sender, EventArgs e)
{
Button button = (Button)sender;
// use Name or Tag of button
}
Run Code Online (Sandbox Code Playgroud)
如果你的按钮被命名为字母A.. Z那么你可以button.Name用来获取字母.如果按钮的名称类似于buttonA...,buttonZ您可以从子字符串button.Name获取相关的字母(或button.Name.Last()).如果按钮的名称与字母表无关,则可以使用Tag按钮的属性来设置并获取分配给每个按钮的字母.