7

これは、パスワード コントロールにフォーカスを合わせて Caps Lock をオンにすると発生します。代わりに独自の警告を追加したいと思います。これを無効にするにはどうすればよいですか?P/Invoke やネイティブ コードは気にしませんが、C# でなければなりません。

ここに画像の説明を入力

4

2 に答える 2

5

フォームで、次のように WndProc をオーバーライドします。これにより、EM_SHOWBALOONTIP メッセージがインターセプトされ、コントロールがメッセージを受信できなくなります。

protected override void WndProc(ref Message m)
{
  if (m.Msg != 0x1503) //EM_SHOWBALOONTIP
     base.WndProc(ref m);
}
于 2013-01-09T17:11:59.300 に答える
1

次のコードは、次のKeyDownイベントで機能しTextBoxます。

    private void txtPassword_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyData == Keys.CapsLock)
        {
            e.SuppressKeyPress = true;
        }
    }
于 2014-09-25T15:42:35.553 に答える