2010-04-17 55 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; 
相关问题