2013-01-09 79 views
7

我得到這個時,我有大寫鎖定密碼控制焦點。我想添加我自己的警告。我怎樣才能禁用這個?我不介意P/Invoke或任何本機代碼,但它必須在C#中。如何使用密碼控制禁用Caps Lock警告?

enter image description here

+0

WPF or Winforms? – BlackICE

+0

會@M。 Nasser Javaid對相關主題的回答有幫助嗎? http://stackoverflow.com/questions/1092808/warn-about-capslock – luchosrock

+0

它在Windows窗體中。 –

回答

5

在您的形式,覆蓋的WndProc像這樣,這將攔截EM_SHOWBALOONTIP消息,並防止接收它的控制:

protected override void WndProc(ref Message m) 
{ 
    if (m.Msg != 0x1503) //EM_SHOWBALOONTIP 
    base.WndProc(ref m); 
} 
1

下面的代碼工作對我來說,在KeyDown事件的一個TextBox

private void txtPassword_KeyDown(object sender, KeyEventArgs e) 
    { 
     if (e.KeyData == Keys.CapsLock) 
     { 
      e.SuppressKeyPress = true; 
     } 
    } 
+1

您是否注意到這個問題是英文的?用另一種語言發佈答案有幫助嗎? – Gutblender