C# 是否运行无格式通知用户控件?
在我的代码中,我需要在不显示任何表单的情况下运行通知控件。我该怎么做?我只是将此代码添加到program.cs主线程,但它不起作用。请帮我解决这个问题C# 是否运行无格式通知用户控件?,c#,.net,winforms,C#,.net,Winforms,在我的代码中,我需要在不显示任何表单的情况下运行通知控件。我该怎么做?我只是将此代码添加到program.cs主线程,但它不起作用。请帮我解决这个问题 Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(); TaskbarIcon tb = new TaskbarIcon();
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run();
TaskbarIcon tb = new TaskbarIcon();
var balloon = new Warning();
tb.ShowCustomBalloon(balloon, PopupAnimation.Fade, 12000);
警告是一个用户控件如果需要,可以添加一个不可见的窗体作为其主机。这并不好,但它适用于您的场景
另一种方法是编写您自己的任务栏图标+通知应用程序,但我想这对于您想要做的事情来说太多了。我建议使用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();
}
}
这样,它可以与默认的.NET Notify图标配合使用。非常优雅,我喜欢这样+1 TaskbarIcon可能是什么,或者创建一个没有表单的UserControl可能会有一个好的结果,这是不必要的。这通常是通过NotifyIcon类完成的。
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
using(var kernel = new Kernel())
{
Application.Run(kernel);
}