尝试将 KeyPress 与参数一起使用,但不知道如何正确传递参数

Trying to use KeyPress with arguments but don't know how to pass args correcly

我希望程序在我按 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(); };

上面的这段代码不起作用,但接近它的代码就完美了。

KeyPressEventArgs 有 KeyChar 属性。用它来测试按下了什么键:

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

你可以根据KeyPressEventArgs.KeyChar用这段代码试试:

game.KeyPress += (sender, eventArgs) => {
    if (eventArgs.KeyChar == (char)Keys.Escape) {
        // TODO
    }
};