我想制作一个只有通知图标的应用程序。它根本不需要“主”窗体。当我想要实现这样的功能时,我只需创建一个不可见的窗体并运行它,但是否有更“优雅”的方法来实现这一点,我想知道。
通常如何做到这一点?此应用程序不能是Windows服务,因为具有NotifyIcon及其上下文菜单很重要(每个菜单将运行不同的命令)。
谢谢。
通常如何做到这一点?此应用程序不能是Windows服务,因为具有NotifyIcon及其上下文菜单很重要(每个菜单将运行不同的命令)。
谢谢。
它为您提供了通知图标,但不包括上下文菜单。事实证明,它非常容易,以至于有点可笑。您只需创建一个继承iContainer接口的类。当您创建通知图标的实例时,请传递一个容器对象。
来自与@ChrisF提到的同一篇博客文章https://bluehouse.wordpress.com/2006/01/24/how-to-create-a-notify-icon-in-c-without-a-form/
解决方案比那更荒谬...
using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace DataUploader
{
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
NotifyIcon icn = new NotifyIcon();
icn.Click += new EventHandler(icn_Click);
icn.Visible = true;
icn.Icon = new System.Drawing.Icon(@”SomeIcon.ico”);
Application.Run();
}
static void icn_Click(object sender, EventArgs e)
{
Application.Exit();
}
}
}