2
我想控制我的winform應用程序的重點。它由一個自定義列表框和其他幾個組件組成。 我希望所有的鍵盤事件都由我的窗口處理程序管理,以避免特定的控制鍵處理(例如,當我按下一個字符並且列表框處於焦點時,選擇以相應字母開頭的項目,這不正確行爲爲我的應用程序)。 我該如何做到這一點?Winform鍵盤管理
我想控制我的winform應用程序的重點。它由一個自定義列表框和其他幾個組件組成。 我希望所有的鍵盤事件都由我的窗口處理程序管理,以避免特定的控制鍵處理(例如,當我按下一個字符並且列表框處於焦點時,選擇以相應字母開頭的項目,這不正確行爲爲我的應用程序)。 我該如何做到這一點?Winform鍵盤管理
確保表單的KeyPreview屬性設置爲true。然後,此代碼應該用於取消您的密鑰事件到列表框中...
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
if (this.ActiveControl == listBox1)
e.Handled = true;
}
KeyPress事件可能不適用於所有您的方案。在那種情況下,我會嘗試KeyDown事件。
將e.Handled設置爲true將放棄按鍵? – 2009-07-21 08:48:26