如何在Windows窗体C#中制作自定义标签,如气球工具提示?

时间:2017-07-18 08:16:35

标签: c# winforms desktop-application

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

This is what I want to Achieve.

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

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,默认情况下,它在工具提示特征中会在一段时间后消失,并且他说他想要永久显示,请选择标签。 我想制作气球类型工具提示,并希望显示永久显示的鼠标悬停?

2 个答案:

答案 0 :(得分:1)

您可以使用NotifyIcon。例如:

方法1:

private void ShowBalloonTip(int min)
{
   NotifyIcon notifyIcon = new NotifyIcon();
   notifyIcon.Visible = true;
   notifyIcon.BalloonTipIcon = ToolTipIcon.Error;
   notifyIcon.BalloonTipText = "Enter the text to be shown";
   notifyIcon.BalloonTipTitle = "Enter the Title";
   notifyIcon.ShowBalloonTip(min * 60 * 1000); // You can set your time value here
}

只要提到的时间,就会显示(没有鼠标悬停)。如果鼠标悬停在它上面,它将自动被解除。

注意:在一段时间后(您作为min传递的时间),这将被解雇。所以传递一个小时左右的值。这样可以让它保持活力!

如果NotifyIcon以某种方式显示,请使用

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

答案 1 :(得分:0)

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

  var tooltip = new ToolTip();
  tooltip.ToolTipTitle = "Tooltip title";
  tooltip.IsBalloon = true;
  tooltip.Show("tooltip content", Target);