1

所以我想我在这里犯了一个愚蠢的错误。在许多控件的第一个中,我需要tooltip在 a 为真时显示一个气球,或者在 a为假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();
            }
        }
4

1 回答 1

2

每次changeBalloonProperties调用 时,您都会创建一个新的 ToolTip 实例,因此代码不会删除与helpDeskButton. 尝试将 ToolTip 声明移到您的changeBalloonProperties方法之外,以便将相同的 ToolTip 对象与RemoveAll().

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

于 2012-07-01T09:14:36.790 回答