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 イベントに登録し、渡された引数に対してこれを行うことができます:

    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 に答える