Пытаюсь использовать 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;
}
Другие вопросы по тегам