大家好,我打赌我真的很蠢。你能帮我摆脱错误吗?对不起,我是一名刚学习c#的学生。我是否需要声明任何变量来纠正逻辑?
void WindowCloseOnEsc_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Escape)
{
Close();
}
}
答案 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);
}
}