2010-04-17 66 views
2

我有這個文本框我用來捕獲首選項配置的鍵盤快捷鍵。我使用低級別的鍵盤鉤來捕捉鍵並且也阻止他們採取行動,例如, Windows鍵,但Alt鍵仍然出現並使我的文本框失去焦點。WinForms:如何防止文本框處理Alt鍵和失去焦點?

如何阻止Alt鍵,使焦點在我的文本框中保持不變?

回答

6
private void textBox1_KeyDown(object sender, KeyEventArgs e) 
{ 
    if (e.Alt) 
    { 
     e.Handled = true; 
    } 
} 
+0

哈,談論失蹤的明顯:)謝謝! – DigiMarco 2010-04-17 23:45:06

0

可以爲keydown事件和args中傳遞的註冊這樣做:

private void myTextBox_KeyDown(object sender, KeyEventArgs e) 
    { 
     if(e.Alt) 
      e.SuppressKeyPress = true; 
    } 

而且您註冊像這樣的事件:如果你不使用

this.myTextBox.KeyDown += new System.Windows.Forms.KeyEventHandler(this.myTextBox_KeyDown); 

或C#1.0,​​你可以簡化這個:

this.myTextBox.KeyDown += this.myTextBox_KeyDown;