当我打开 Caps Lock 并重点关注密码控制时,我会得到这个。我想添加我自己的警告。我怎样才能禁用这个?我不介意 P/Invoke 或任何本机代码,但它必须在 C# 中。

在您的表单中,像这样覆盖 WndProc,这将拦截 EM_SHOWBALOONTIP 消息并阻止控件接收它:
protected override void WndProc(ref Message m)
{
if (m.Msg != 0x1503) //EM_SHOWBALOONTIP
base.WndProc(ref m);
}
以下代码适用于我,在KeyDowna 事件中TextBox:
private void txtPassword_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.CapsLock)
{
e.SuppressKeyPress = true;
}
}