C#在禁用的文本框(表单)上显示工具提示

我试图在鼠标hover期间获取工具提示以显示在禁用的文本框上。 我知道,因为控件被禁用,以下操作无效:

private void textBox5_MouseHover(object sender, EventArgs e) { // My tooltip display code here } 

如何让鼠标hover在禁用的控件上显示工具提示?

非常感谢

如果禁用控件,MouseHover将不会触发。 相反,您可以检查Form MouseMove事件是否hover文本框

  public Form1() { InitializeComponent(); textBox1.Enabled = false; toolTip.InitialDelay = 0; } private ToolTip toolTip = new ToolTip(); private bool isShown = false; private void Form1_MouseMove(object sender, MouseEventArgs e) { if(textBox1 == this.GetChildAtPoint(e.Location)) { if(!isShown) { toolTip.Show("MyToolTip", this, e.Location); isShown = true; } } else { toolTip.Hide(textBox1); isShown = false; } } 

在此处输入图像描述

您还可以将ToolTip对象从设计器中的工具箱拖到窗体上。 然后在代码中,您只需调用SetToolTip()并传入按钮或文本框等,您希望工具提示分配给您希望它显示的文本。

 myToolTip.SetToolTip(myTextBox, "You just hovered over myTextBox!");