2009-07-20 46 views
2

我想控制我的winform應用程序的重點。它由一個自定義列表框和其他幾個組件組成。 我希望所有的鍵盤事件都由我的窗口處理程序管理,以避免特定的控制鍵處理(例如,當我按下一個字符並且列表框處於焦點時,選擇以相應字母開頭的項目,這不正確行爲爲我的應用程序)。 我該如何做到這一點?Winform鍵盤管理

回答

4

確保表單的KeyPreview屬性設置爲true。然後,此代碼應該用於取消您的密鑰事件到列表框中...

private void Form1_KeyPress(object sender, KeyPressEventArgs e) 
{ 
    if (this.ActiveControl == listBox1) 
     e.Handled = true; 
} 

KeyPress事件可能不適用於所有您的方案。在那種情況下,我會嘗試KeyDown事件。

+0

將e.Handled設置爲true將放棄按鍵? – 2009-07-21 08:48:26