2

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

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

4

2 回答 2

6
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.Alt)
    {
        e.Handled = true;
    }
}
于 2010-04-17T22:58:04.810 回答
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;
于 2010-04-17T22:57:03.503 回答