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

tri*_*ock 5 c# controls textbox tooltip

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

private void textBox5_MouseHover(object sender, EventArgs e)
{
       // My tooltip display code here
}
Run Code Online (Sandbox Code Playgroud)

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

非常感谢

Ste*_*cya 17

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

    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;
        }
    }
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 那么你应该签署groupBox MouseMove事件并做与Form相同的事情 (2认同)