选择隐藏或显示基于bool的工具提示

时间:2012-06-30 12:53:55

标签: c# tooltip

所以我想我在这里犯了一个愚蠢的错误。在许多控件的第一个中,我需要在tooltip为真时显示气球bool,或者在bool为假时显示气球ShowAlways。我知道bool不是我需要修改的,我已经尝试了各种解决方案。有人发现了这个问题吗? public void changeBalloonProperties(bool boolSet) { ToolTip helpDeskInfoButtonToolTip = new ToolTip(); if (boolSet) { helpDeskInfoButtonToolTip.ToolTipTitle = "HelpDesk Information Button"; helpDeskInfoButtonToolTip.UseFading = true; helpDeskInfoButtonToolTip.UseAnimation = true; helpDeskInfoButtonToolTip.IsBalloon = true; helpDeskInfoButtonToolTip.ShowAlways = true; helpDeskInfoButtonToolTip.AutoPopDelay = 5000; helpDeskInfoButtonToolTip.InitialDelay = 1000; helpDeskInfoButtonToolTip.ReshowDelay = 500; helpDeskInfoButtonToolTip.SetToolTip(helpDeskButton, "Click to launch HelpDesk user info page in default browser."); } else { helpDeskInfoButtonToolTip.RemoveAll(); } } 由帮助菜单条项目中的已检查下拉项设置。

它将使用正确显示的应用程序打开,但只要我检查该选项以显示它,它就会在那之后显示。

{{1}}

1 个答案:

答案 0 :(得分:2)

每次调用changeBalloonProperties时,您都在创建一个新的ToolTip实例,因此代码不会删除与helpDeskButton一起使用的原始工具提示相关联的标题。尝试在changeBalloonProperties方法之外移动ToolTip声明,以便与RemoveAll()一起使用相同的ToolTip对象。

另请注意,您可以使用相同的ToolTip对象为多个控件添加标题(如示例here中所示),并且最好将helpDeskInfoButtonToolTip.Active = false设置为一次禁用它们而不是设置并在每次切换时删除标题(和其他属性)。