C#工具提示显示的时间不够长

我有一个工具提示出现在鼠标hover在图像上:

ToolTip tt = new ToolTip(); protected virtual void pictureBox_MouseHover(object sender, EventArgs e) { tt.InitialDelay = 0; tt.SetToolTip(this.pictureBox, "Click 'LIVE ..."); } 

我的问题是我的文字很长,工具提示消失得太快。 如何让工具提示显示更长时间?

AutoPopDelay属性设置为更高 – 默认为5000(5秒)

更新:我的错误:

延迟弹出窗口的最长时间是5000毫秒。 对于较长的持续时间,请使用Show方法控制显示工具提示的确切时刻。

因此,使用此方法无法使工具提示显示超过5秒 – 相反,当用户将鼠标hover在图片框上时,您需要使用“显示”来明确显示工具提示。 只需将您对SetToolTip的调用替换为在MouseHover事件处理程序中Show一个:

 ToolTip tt = new ToolTip(); protected virtual void pictureBox_MouseHover(object sender, EventArgs e) { tt.Show("Click 'LIVE ...", this.pictureBox, 10000); } 

设置AutoPopDelay属性的值

  tt.AutoPopDelay = 10000; 

ToolTip.Show(text, [control], time in milliseconds)是我所需要的

这将允许您显示特定毫秒数的长文本。 此外,如果您的文本太长,那么您可以在文本之间使NewLine处于惰性NewLine ,这样它就会被包裹起来而不会显示为跨越表单的长工具提示

与Justin描述的答案不同,我无法使用show方法让ToolTip显示的时间超过5秒。

我遇到的其他一个挂断是AutomaticDelay属性。 长话短说 – 如果你想自定义AutoPopDelay 设置AutomaticDelay

设置此属性将自动设置… 请参阅MSDN :

AutoPopDelay = 10 x AutomaticDelay

InitialDelay = AutomaticDelay

ReshowDelay =(0.2)x AutomaticDelay

这里的代码对我有用:

 ToolTip tt = new ToolTip(); private void someObjectName_MouseHover(object sender, EventArgs e) { tt = new ToolTip { AutoPopDelay = 15000, // Warning! MSDN states this is Int32, but anything over 32767 will fail. ShowAlways = true, ToolTipTitle = "Symbolic Name", InitialDelay = 200, ReshowDelay = 200, UseAnimation = true }; tt.SetToolTip(this.someObjectName, "This is a long message"); } 

奖金:

 private void someObjectName_MouseLeave(object sender, EventArgs e) { tt.Active = false; } 

我发现以下步骤对我有用:

将automaticdelay设置为所需autopopdelay的 1/10。

然后你可以调整你的initialdelay和reshowdelay 。

MSDN链接