2013-01-09 35 views
7

Tôi nhận được thông báo này khi tôi bật Caps Lock với chức năng kiểm soát mật khẩu. Thay vào đó, tôi muốn thêm cảnh báo của riêng mình. Làm thế nào tôi có thể vô hiệu hóa cái này? Tôi không nhớ P/Invoke hoặc bất kỳ mã nguồn gốc nào nhưng nó phải ở trong C#.Làm cách nào để tắt cảnh báo Caps Lock bằng điều khiển mật khẩu?

enter image description here

+0

WPF hoặc Winforms? – BlackICE

+0

sẽ là @M. Nasser Javaid trả lời cho một chủ đề liên quan giúp đỡ? http://stackoverflow.com/questions/1092808/warn-about-capslock – luchosrock

+0

Đó là trong Windows Forms. –

Trả lời

5

Trong biểu mẫu, ghi đè WndProc như vậy, mà sẽ ngăn chặn được thông báo EM_SHOWBALOONTIP và ngăn chặn sự kiểm soát từ khi nhận được nó:

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

Các mã sau đây làm việc cho tôi, trên các sự kiện KeyDown của một số TextBox:

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

Bạn có nhận thấy câu hỏi bằng tiếng Anh không? Nó có giúp đăng câu trả lời bằng ngôn ngữ khác không? – Gutblender

Các vấn đề liên quan