我想做一个只有 NotifyIcon 的应用程序。它根本不需要“主”表单。当我想实现这样的事情时,我只是创建一个不可见的表单并运行它,但是是否有更“优雅”的方式来做到这一点,我想知道它。
你一般是怎么做的?此应用程序不能是 Windows 服务,因为拥有 NotifyIcon 及其上下文菜单很重要(它们中的每一个都将运行不同的命令)。
谢谢
我想做一个只有 NotifyIcon 的应用程序。它根本不需要“主”表单。当我想实现这样的事情时,我只是创建一个不可见的表单并运行它,但是是否有更“优雅”的方式来做到这一点,我想知道它。
你一般是怎么做的?此应用程序不能是 Windows 服务,因为拥有 NotifyIcon 及其上下文菜单很重要(它们中的每一个都将运行不同的命令)。
谢谢
另一种方法是使用只有您需要的控件的特殊ApplicationContext :创建任务托盘应用程序。
从同一篇博客文章@ChrisF 提到https://bluehouse.wordpress.com/2006/01/24/how-to-create-a-notify-icon-in-c-without-a-form/
解决方案比这更荒谬……</p>
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();
}
}
}