C#标签工具提示多次出现

时间:2013-06-26 06:43:37

标签: c# visual-studio-2010 hover label tooltip

我认为我有一个不寻常的问题,很多关于工具提示的问题是:为什么不显示,或者为什么不显示多次。 但是我的问题是,当我将鼠标悬停在我的工具提示标签上时,如果我将鼠标缓慢移动到每个像素所显示的标签上,则工具提示会显示几次。 我尝试过这样的事情:ToolTip1.ReshowDelay = 500; 但这似乎没有任何影响。 我也尝试使用label1_MouseEnterlabel1_MouseLeave,但也无法使用。

我希望有人可以帮助我

这是所有必须发生的代码::)

    private void label1_Hover(object sender, EventArgs e)
    {
        //Enter Help box texboxes
        System.Windows.Forms.ToolTip ToolTip1 = new System.Windows.Forms.ToolTip();
        ToolTip1.ShowAlways = true;
        ToolTip1.Show("Enter the Drive letter in the first textbox" + "\n" + "Enter the submap in the second textbox", label1);
    }

1 个答案:

答案 0 :(得分:3)

通过使用悬停事件处理程序来创建工具提示,每次用户将鼠标悬停在其上时,您都会创建一个新的ToolTip对象并与该标签关联。你会注意到,当你第一次将鼠标悬停在它上面时,你会看到一个工具提示,但随后的悬停会产生额外的工具提示。

您可以在创建表单时创建一次,而不是在标签的悬停事件中创建工具提示。 SetToolTip()方法将使工具提示与提供的控件相关联,并且将表现为正常的工具提示(仅在用户将鼠标悬停在控件上时显示)。

例如,您可以在表单的构造函数中调用SetToolTip()

    public Form1()
    {
        InitializeComponent();

        new ToolTip().SetToolTip(label1, "Enter the Drive letter in the first textbox" + "\n" + "Enter the submap in the second textbox");
    }

或者,您可以在表单的加载事件处理程序中创建工具提示。