2

我想我有一个不寻常的问题,关于工具提示的很多问题是:为什么它不显示,或者为什么不显示多次。但是我的问题是,当我将鼠标悬停在我的工具提示标签上时,如果我将鼠标缓慢移动到它为每个像素显示的标签上,工具提示会显示几次。我试过类似的东西:ToolTip1.ReshowDelay = 500; 但这似乎没有任何效果。我也尝试使用label1_MouseEnter, 和 a label1_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);
    }
4

1 回答 1

4

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");
    }

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

于 2013-06-26T07:13:14.857 回答