C# 如何在windows窗体C中自定义类似气球的标签工具提示?

C# 如何在windows窗体C中自定义类似气球的标签工具提示?,c#,winforms,desktop-application,C#,Winforms,Desktop Application,背景:我正在制作桌面C Windows窗体应用程序。我想永久显示气球式工具提示,如图中所示 已尝试:我已尝试自定义工具提示。我的代码如下 ToolTip customToolTip = new ToolTip(); customToolTip.ToolTipTitle = "Button Tooltip"; customToolTip.UseFading = true; customToolTip.UseAnimation = true;

背景:我正在制作桌面C Windows窗体应用程序。我想永久显示气球式工具提示,如图中所示

已尝试:我已尝试自定义工具提示。我的代码如下

ToolTip customToolTip = new ToolTip();
        customToolTip.ToolTipTitle = "Button Tooltip";
        customToolTip.UseFading = true;
        customToolTip.UseAnimation = true;
        customToolTip.IsBalloon = true;
        customToolTip.Active = true;
        customToolTip.ShowAlways = true;
        customToolTip.ShowAlways = true;
解决方案的问题:问题是我想在不使用鼠标悬停的情况下永久显示,工具提示只在鼠标悬停该控件并且在一段时间后消失时出现。我在StackOverflow上读到过,默认情况下,它在工具提示中的特征会在一段时间后消失,他说,如果你想永久显示,请选择标签。
我想创建引出序号类型的工具提示,并希望在显示时不带永久显示的鼠标悬停?

如果要以编程方式触发工具提示,请使用。示例代码:

  var tooltip = new ToolTip();
  tooltip.ToolTipTitle = "Tooltip title";
  tooltip.IsBalloon = true;
  tooltip.Show("tooltip content", Target);
您可以使用NotifyIcon。例如:

方法1:

这将在没有鼠标悬停的情况下显示,与上述时间一样长。若鼠标悬停在其上方,它将自动被解除

注意:这将在一段时间后(您以min的形式通过的时间)被取消。所以传递一个值,比如一个小时左右。这会让它活这么久

如果图标未显示,请使用

notifyIcon.Icon = SystemIcons.Application;
方法2:

或者试试这个

var notify = new NotifyIcon();
notify.Visible = true;
notify.Icon = System.Drawing.SystemIcons.Information;
notify.ShowBalloonTip(3000, "Title", "TextBody", ToolTipIcon.Info)
//3000 is in milliseconds

正如我在问题中提到的,工具提示只在鼠标悬停在控件上并且我不想要它时出现。我想永久显示而不需要鼠标悬停。我想用Label实现相同的功能,并想在Label/@mohsin中显示气球。您是否尝试过使用气球提示/NotifyIcon而不是ToolTip@mohsin不,请再读一遍我的答案。Show调用在不需要鼠标悬停的情况下触发工具提示。@mohsin NotifyIcon具有NotifyIcon.ShowBallootTip;。您可以在其中输入时间值,从而使其显示那么长时间,即使没有鼠标悬停,它也会显示。您是否为其指定了图标?如果上述方法不起作用。用notifyIcon.Icon=SystemIcons.Application替换notifyIcon.balloottipicon;我已经更新了我的答案,检查方法2。复制相同的代码并首先检查。根据您的喜好替换3000、标题、文本正文。不要将时间设置为3或4,因为ShowBallootTip以毫秒为参数。因此,将您的持续时间转换为毫秒这是可行的,但它显示在通知区域中,我想在控件周围的WindowsForm中显示?我怎样才能做到这一点?这是你现在能做到的最好的了。在应用程序快速启动图标上显示通知气泡(如图片中所示)是不可能的!对此我很抱歉。但是如果我的解决方案满足了你的需要,你可以通过点击左边的记号来接受它:请告诉我最后一件事,那将解决我的问题,考虑这个场景,我在计算机上有一个图像,并且想要实现我在图片上展示给你的东西,而不是我应该怎么做?非常感谢你的帮助。
var notify = new NotifyIcon();
notify.Visible = true;
notify.Icon = System.Drawing.SystemIcons.Information;
notify.ShowBalloonTip(3000, "Title", "TextBody", ToolTipIcon.Info)
//3000 is in milliseconds