尝试在C#中使用ESC将代码编程到Exit应用程序?

时间:2011-08-31 06:27:14

标签: c#

我正在学习更多C#编程,并使用Ogre开发了一个应用程序。但是,运行它时退出应用程序的唯一方法是ALT + F4。

我已经在代码中输入了一个使用keyPress ESC退出的方法。但是,Visual C#Express抛出错误,并且不让我使用ProcessCmdKey。 :\

帮助?

using System;
using System.Windows.Forms;

    protected override bool ProcessCmdKey(ref LogMessageLevel msg, Keys keyData)
    {
        if (keyData == Keys.Escape) this.Close();
        return base.ProcessCmdKey(ref msg, keyData);
    }

2 个答案:

答案 0 :(得分:1)

试试这段代码:

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
    if (keyData == Keys.Escape)
    {
        MessageBox.Show("esc pressed!");
        this.Close();
    }
    return base.ProcessCmdKey(ref msg, keyData);
}

答案 1 :(得分:1)

更标准的方法是在表单中添加关闭按钮,然后将此按钮设置为“表单取消”按钮。

有关详情:http://msdn.microsoft.com/en-us/library/system.windows.forms.form.cancelbutton.aspx

通过将其设置为取消按钮,按 ESC 键将自动触发。