2014-01-06 67 views
0

嗨,大家好,我敢打赌,我真的很愚蠢。你能帮我摆脱错误吗?对不起,我是学习c#的新手。我是否需要声明任何变量来纠正逻辑?C#控制台应用程序上的退出按钮

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

} 
+2

您的标题表明您正在创建一个控制台应用程序。如果是这样,KeyDown事件不可用。你可以澄清,如果你有一个控制台应用程序或Windows窗体应用程序? –

+0

IT是一个控制台应用程序 – MattTheCodeMan

+2

在将来问问题时,请记住,告诉错误是什么以及它们是编译错误还是运行时错误是一个好主意。 –

回答

5

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

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); 
} 
+0

谢谢你让我的一天:) – MattTheCodeMan

+0

不客气:) –

3

您应该使用Environment.Exit,你应该改变你的if声明是这样的:

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

是的,这些东西似乎出现错误。 KeyEventArgs e ...键...关闭。 – MattTheCodeMan

+0

谢谢这是加载更好:)仍然在KeyEventArgs e和键上出现问题我不知道使用什么类型的变量使其与例如布尔,浮点数或字符串相关! – MattTheCodeMan

+0

有什么问题或错误信息? –

相关问题