Я новичок в C#, и я пытаюсь создать игру «Палач» в WinForms, у меня работает функциональность игры, но я пытаюсь создать форму, в которой пользователь выбирает категорию и то слово, которое нужно угадать, принадлежит выбранной категории. У меня есть HangEventArgs, как показано ниже:
public class HangEventArgs : EventArgs
{
public Category WordCategory { get; set; }
}
и класс для данных (я надеюсь расширить его, чтобы добавить больше функций в будущем).
public enum Category
{
// Categories are stores here
}
public class HangData
{
public Category WordCategory { get; protected set; }
public HangData(Category askWhat)
{
WordCategory = askWhat;
}
}
И класс, в котором хранятся слова
public static class WordsToGuess
{
public static string[] Capitals =
{
"London",
"Paris" // more words here
}; // more categories here
Наконец, у меня есть событие нажатия кнопки для всех категорий, я создал свою собственную кнопку, чтобы не использовать по умолчанию EventArgs.
private void bCategory_Click(object sender, HangEventArgs e)
{
MainGame mg = new MainGame(new HangData(e.WordCategory));
mg.ShowDialog();
}
Я пытался использовать такие обработчики событий
public event EventHandler<HangEventArgs>(object sender, HangEventArgs e);
Но я не уверен, как правильно реализовать это в моем коде. Если я использую
bCapitals.Click += new EventHandler(bCategory_Click);
, я получаю сообщение об ошибке делегата, не совпадающее с перегрузкой, и не могу решить, как это исправить. Заранее спасибо за помощь.