在我的代码中我需要运行通知控件而不显示任何表单我该怎么办?我只是将这个代码添加到program.cs主线程但是它不起作用请帮助我吗?
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run();
TaskbarIcon tb = new TaskbarIcon();
var balloon = new Warning();
tb.ShowCustomBalloon(balloon, PopupAnimation.Fade, 12000);
警告是用户控件
答案 0 :(得分:8)
我建议使用ApplicationContext的实例作为参数调用Application.Run():
class Kernel : ApplicationContext
{
private TaskbarIcon tb = new TaskbarIcon();
public void Show()
{
var ballon = new Warning();
tb.ShowCustomBalloon(balloon, PopupAnimation.Fade, 12000);
}
/// <summary>
/// Closes the application.
/// </summary>
public void Close()
{
Application.Exit();
}
}
Programm.cs:
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
using(var kernel = new Kernel())
{
Application.Run(kernel);
}
这种方式适用于默认的.NET NotifyIcon。
答案 1 :(得分:0)
如果您愿意,可以添加一个不可见的表单作为主机。它并不好,但它适用于您的场景。
另一种方法是编写自己的托盘图标+通知应用程序,但我想这对你想做的事情来说太多了。