C#控制台应用程序上的转义按钮

时间:2014-01-06 19:49:39

标签: c#

大家好,我打赌我真的很蠢。你能帮我摆脱错误吗?对不起,我是一名刚学习c#的学生。我是否需要声明任何变量来纠正逻辑?

void WindowCloseOnEsc_KeyDown(object sender, KeyEventArgs e)   
{
    if (e.Key == Key.Escape)
    {
         Close();
    }

}

2 个答案:

答案 0 :(得分:7)

如果这是一个控制台应用程序,您应该考虑使用ConsoleKeyInfo.Key属性。从提供的链接中,有一个来自MSDN的示例,它显示了在按下 esc 键时关闭/退出控制台程序的方法。这是基本的想法:

public static void Main() 
{
    ConsoleKeyInfo cki;

    Console.WriteLine("Press the Escape (Esc) key to quit: \n");
    do 
    {
        cki = Console.ReadKey();
        // do something with each key press until escape key is pressed
    } while (cki.Key != ConsoleKey.Escape);
}

答案 1 :(得分:3)

您应该使用Environment.Exit,并且应该像这样更改if语句:

void WindowCloseOnEsc_KeyDown(object sender, KeyEventArgs e)   
{
   if (e.KeyCode == Keys.Escape)
   {
       Environment.Exit(0);
   }
}