WinForms:如何防止文本框处理alt键并失去焦点?

时间:2010-04-17 22:49:58

标签: c# winforms keyboard-hook

我有这个文本框用于捕获首选项配置的键盘快捷键。我使用低级键盘钩来捕获密钥并防止它们采取行动,例如Windows键,但Alt键仍然通过,使我的文本框失去焦点。

如何阻止Alt键,以便在我的文本框中保持焦点不变?

2 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分: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;