2014-01-06 73 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

有什麼問題或錯誤信息? –

相關問題