Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

In my C# project, I am creating a Hangman game that has a set of buttons which contains the alphabets from A to Z. All these buttons when clicked will execute the same method. I do not want to create an event handler for each of them one by one. So how do I create a SINGLE event handler for all these buttons?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
199 views
Welcome To Ask or Share your Answers For Others

1 Answer

Subscribe same handler for all buttons and use sender to get button which raised event:

void Button_Click(object sender, EventArgs e)
{
    Button button = (Button)sender;
    // use Name or Tag of button
}

If your buttons named as alphabets A..Z then you can just use button.Name to get letter. If buttons have names like buttonA...buttonZ you can get substring from button.Name to get related letter (or button.Name.Last()). If buttons have names not related to alphabets, then you can use Tag property of button to set and get letter which is assigned to each button.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...