1

だから私はここでただのばかげた間違いをしていると思った。多くのコントロールの最初のものでは、tooltipaboolがtrueの場合はバルーンを表示するか、 boolfalseの場合はバルーンを表示しないようにする必要があります。私はそれが私が修正する必要があるものではないことを知って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

が呼び出されるたびに新しいToolTipインスタンスを作成しているchangeBalloonPropertiesため、コードは、で使用されていた元のToolTipに関連付けられたキャプションを削除しませんhelpDeskButton。ToolTip宣言をchangeBalloonPropertiesメソッドの外に移動して、同じToolTipオブジェクトが。で使用されるようにしてくださいRemoveAll()

また、同じToolTipオブジェクトを使用して複数のコントロールのキャプションを追加できることにも注意してください(ここのサンプルに示されているように)helpDeskInfoButtonToolTip.Active = false。キャプション(およびその他のプロパティ)を毎回設定および削除するのではなく、一度にすべて無効にするように設定することをお勧めします。トグル。

于 2012-07-01T09:14:36.790 に答える