ToolTip.Show
当包含控件的窗口处于非活动状态时,为什么不显示手动显示的工具提示?
public class MyControl : Button
{
private _tip;
public string ToolTip
{
get { return _tip; }
set { _tip = value; }
}
private ToolTip _toolTip = new ToolTip();
public MyControl()
{
_toolTip.UseAnimation = false;
_toolTip.UseFading = false;
_toolTip.ShowAlways = true;
}
protected override void OnMouseHover(EventArgs e)
{
_toolTip.Show(_tip, this, 0, Height);
base.OnMouseHover(e);
}
protected override void OnMouseLeave(EventArgs e)
{
_toolTip.Hide(this);
base.OnMouseLeave(e);
}
}
我之所以选择ToolTip.Show
是因为我必须在屏幕上无限时间地显示工具提示,而这对于普通的ToolTip
. 我也喜欢将工具提示文本作为控件本身的一部分的想法。但不幸的是,当以这种方式为非活动窗口显示工具提示时(尽管如此ShowAlways = true
),它根本不起作用。
事件发生了OnMouseHower
,但_toolTip.Show
什么都不做。除非窗口被激活,否则一切正常。
赏金
为解决方案添加赏金以显示非活动表单的工具提示(当工具提示文本是控件的属性时,最好使用解决方案,而不是IContainer
)。