C# - 仅在提供 ToolTip 的控件中移除 ToolTip

4

这个问题在SO上已经被问过了,可以在这里找到。

问题是那个问题的解决方案是隐藏工具提示,而我真正需要做的是删除它而不是隐藏它。


我正在使用一些函数向我的表单中的多个控件添加工具提示。

有两个函数,一个用于设置鼠标悬停时显示工具提示,另一个用于始终显示工具提示。

只缺少一个。一个用于删除特定控件设置或显示的任何工具提示。

类似以下内容:

tooltip.remove(TextBox1);

我只需要设置控件的工具提示,这很简单。

我已经尝试了几种方法,但都不起作用。

谢谢。

编辑:

这是我使用代码添加工具提示的方式。

我的代码编写方式有误

我的代码用于设置和显示工具提示:

public class UserInterface
{
    public void SetTooltip(Control Object, string Message, string Title, ToolTipIcon icon, Boolean isBallon, Boolean showAlways)
    {
        ToolTip Tip = new ToolTip();
        Tip.UseAnimation = true;
        Tip.UseFading = true;
        Tip.ToolTipIcon = icon;
        Tip.IsBalloon = isBallon;
        Tip.ShowAlways = showAlways;
        Tip.ToolTipTitle = Title;
        Tip.SetToolTip(Object, Message);
    }

    public void ShowTooltip(Control Object, string Message, string Title, ToolTipIcon icon, Boolean isBallon, Boolean showAlways)
    {
        ToolTip Tip = new ToolTip();
        Tip.UseAnimation = true;
        Tip.UseFading = true;
        Tip.ToolTipIcon = icon;
        Tip.IsBalloon = isBallon;
        Tip.ShowAlways = showAlways;
        Tip.ToolTipTitle = Title;
        Tip.Show(Message, Object);
    }
}
1个回答

10

这样应该可以解决:

ToolTip.SetToolTip(TextBox1, null);

2
@Fabio:Tooltip 是一个设计时构造器,是控件的扩展器...你为什么要实例化一个新的 tooltip?将 tooltip 拖到表单上并使用它!你的编码方式有误——你有两个 tooltip 实例。 - t0mm13b
已经解决了。抱歉各位。还需要学习一些关于C#和.Net的概念。 - Fábio Antunes
你说得对。经过一些更改并遵循您的评论,它运行得相当好。谢谢。 - Fábio Antunes
在VB.NET中同样可以很好地工作。 ToolTip.SetToolTip(TextBox1, Nothing) - uzbones

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接