0
當主窗體加載時,我試圖建立一個關鍵的事件處理程序如下:C# - 在Windows窗體keydown事件問題
private void FormMain_Load(object sender, EventArgs e)
{
KeyDown += FormMain_KeyDown;
}
和被調用的函數:
private void FormMain_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Escape)
{
// Do something.
}
}
問題是表單對Escape(或其他我試過的鍵)沒有反應。有趣的是,與同一個項目不同的表單使用類似的代碼沒有任何問題。任何人都可以告訴我我做錯了什麼?
謝謝你的回答(它可以讓我在3分鐘內接受)!爲什麼我不需要在另一個表單上將此屬性設置爲true,是否有任何理由? – IneedHelp 2012-08-08 17:16:33
你確定它不是? (或者在某處設置ihn代碼)我自己從來都不是這個伎倆的忠實粉絲,我寧願將重點新聞的窗口消息陷入其中。多年來我的結果都不盡相同,對我來說太脆弱了。 – 2012-08-08 17:20:47
我的項目中沒有使用KeyPreview,除了這一次。這就是爲什麼我想知道它在項目中以不同的形式工作,而不是主要的形式。我有興趣瞭解更多關於您提到的其他方法的信息。你能否提供一些參考資料供我閱讀?謝謝! – IneedHelp 2012-08-08 17:27:03