Пытаюсь использовать KeyPress с аргументами, но не знаю, как правильно передавать аргументы - PullRequest
0 голосов
/ 14 февраля 2019

Я хочу, чтобы программа закрывалась, когда я нажимаю 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 ]

0 голосов
/ 14 февраля 2019

Вы можете попробовать этот код в соответствии с KeyPressEventArgs.KeyChar :

game.KeyPress += (sender, eventArgs) => {
    if (eventArgs.KeyChar == (char)Keys.Escape) {
        // TODO
    }
};
0 голосов
/ 14 февраля 2019

KeyPressEventArgs имеет свойство KeyChar .Используйте это, чтобы проверить, какая клавиша была нажата:

if (e.KeyChar == (char)Keys.Return)
{
    e.Handled = true;
}
...