C#标签工具提示显示多次
我认为我有一个不寻常的问题,关于工具提示的很多问题是:为什么不显示,或为什么不多次。 但是,我的问题是,当我将鼠标悬停在我的工具提示标签上时,如果我将鼠标缓慢移动到每个像素显示的标签上,工具提示会显示多次。 我试过类似:ToolTip1.ReshowDelay = 500;
但这似乎没有任何效果。 我也尝试过使用label1_MouseEnter
和label1_MouseLeave
,但无法让它工作。C#标签工具提示显示多次
我希望有人能帮助我
这是它都有发生代码::)
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);
}
通过使用悬停事件处理程序创建工具提示,你造成每当用户将鼠标悬停在标签上时,都会创建一个新的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");
}
或者,您可以创建窗体的Load事件处理程序的提示。
噢,得到它,真棒,设置它在这样的形式后,我用:ToolTip1.Show(“”,label1);在labe1_hover和它的工作,thansk! – TaurusFire
您可以完全移除label1_hover事件处理程序。当用户将鼠标悬停在您在方法调用中指定的控件上时,SetToolTip()会自动使工具提示出现。 – Gage
真棒,谢谢;) – TaurusFire
为什么你需要在悬停时做到这一点?它正在做它应该做的事 – MSI
只需设置标签控件的工具提示属性,如果您使用的是asp:标签 – MSI
否当我将鼠标放在标签上时,工具提示显示为2或3次,或者当我慢慢移动时在标签上,它会传播工具提示框。所以它一次只能显示1个。 – TaurusFire