0

我如何接受击键?例如,如果用户按下 ,我想退出应用程序q

我该怎么做呢?我正在使用 WinForms。

4

3 回答 3

2

如果您正在使用 ,请使用KeyDown或事件。KeyUpWinForms

例如,只需将以下代码放入表单类中即可覆盖OnKeyUp事件并在用户按下q键时关闭:

protected override void OnKeyUp(KeyEventArgs e)
{
    if (e.KeyCode == Keys.Q)
    {
        this.Close();
    }

    base.OnKeyUp(e);
}
于 2011-02-08T10:59:00.623 回答
1

您正在制作什么样的应用程序?窗体?WPF?安慰?前两个有按键相关的事件,第三个可以使用 Console.Read 或 ReadLine 方法并测试返回值

于 2011-02-08T11:01:05.983 回答
0

您可能希望在此处使用 KeyPreview 和 OnKeyPreview,具体取决于您在表单上使用的控件。有时,KeyDown 和 KeyUp 会在你有机会自己处理之前被处理。

顺便说一句,对于 Windows 应用程序,使用不带任何修饰符的“q”键退出并不是一个好主意,因为您可能在表单上有接受输入的文本框,如果有人在文本框中输入“quebec”,您的应用程序将退出.

如果您不想使用事件,那么 OVERRIDE 相同的虚拟方法并为它们提供实现您想要的功能。但同样,这里的首选方法是使用事件。

于 2011-02-08T12:56:14.933 回答