Пытаюсь использовать KeyPress с аргументами, но не знаю, как правильно передавать аргументы
Я хочу, чтобы программа выходила, когда я нажимаю Escape, так, как она есть сейчас, просто закрываюсь при нажатии любой кнопки.
Вот мой код
game.KeyPress += (sender, e) => { game.Exit(); };
Я использовал https://github.com/ppy/osuTK это как ссылку в моем проекте. KeyPress и KeyPressEventArgs наследуются от osuTK.Input
Существует также этот код ниже
Key.Escape
Ключ также наследуется от osuTK.Input.
game.KeyPress<KeyPressEventArgs<Key.Escape>> += (sender, e) => { game.Exit(); };
Этот код выше не работает, но что-то близкое к этому было бы идеально.
2 ответа
Решение
Вы можете попробовать этот код в соответствии с KeyPressEventArgs.KeyChar:
game.KeyPress += (sender, eventArgs) => {
if (eventArgs.KeyChar == (char)Keys.Escape) {
// TODO
}
};
KeyPressEventArgs имеет свойство KeyChar. Используйте это, чтобы проверить, какая клавиша была нажата:
if (e.KeyChar == (char)Keys.Return)
{
e.Handled = true;
}