5

我想做一个只有 NotifyIcon 的应用程序。它根本不需要“主”表单。当我想实现这样的事情时,我只是创建一个不可见的表单并运行它,但是是否有更“优雅”的方式来做到这一点,我想知道它。

你一般是怎么做的?此应用程序不能是 Windows 服务,因为拥有 NotifyIcon 及其上下文菜单很重要(它们中的每一个都将运行不同的命令)。

谢谢

4

3 回答 3

4

另一种方法是使用只有您需要的控件的特殊ApplicationContext :创建任务托盘应用程序。

于 2010-07-14T20:21:36.250 回答
2

看看这篇博文

事实证明,这太容易了,太荒谬了。您所要做的就是创建一个继承 iContainer 接口的类。当您创建通知图标的实例时,传递一个容器对象。

它为您提供通知图标,但不是上下文菜单。

于 2010-05-07T12:53:38.690 回答
0

从同一篇博客文章@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();
        }
    }
}
于 2020-01-25T21:02:33.383 回答