我试图获得一个工具提示,以将鼠标悬停在禁用的文本框中显示。我知道,因为该控件被禁用,所以以下操作将无效:

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

如何获得工具提示以将鼠标显示在禁用控件上?

非常感谢

最佳答案

如果控件被禁用,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;
        }
    }

关于C#在禁用的文本框(窗体)上显示工具提示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7887817/

10-15 04:48