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

时间:2019-02-14 03:35:05

标签: c# key opentk .net-standard-2.0 eventargs

我希望当我按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 :(得分:0)

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

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

答案 1 :(得分:0)

您可以根据KeyPressEventArgs.KeyChar尝试使用以下代码:

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