如何在启动时显示窗口?

时间:2012-02-09 17:08:35

标签: c# .net winforms c#-4.0 systray

  

可能重复:
  How to make the startup form initially invisible or hidden

我的应用程序有一个系统托盘,我不希望Window在启动时出现。

我该如何做到这一点?


这是默认的Windows窗体应用程序。

我拖了一个notifyIcon和一个contexualMenuStrip

当表单关闭时,应用程序退出(不想要它)。但是,当启动应用程序时,Windows窗体也可以显示。那么如何在启动时启动表单(而不是在关闭窗口时退出)?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

答案不是隐藏您的主要表单,而是首先不显示/加载

一种方法是创建自定义ApplicationContext

public static class Program
{
    public static void Main(string[] arguments)
    {
        var context = new NotifyIconApplicationContext();
        context.Icon.Icon = new Icon(PATH_TO_ICON_FILE_HERE);
        context.Icon.Visible = true;    
        Application.Run(context);
    }
}

class NotifyIconApplicationContext : ApplicationContext
{
    public NotifyIconApplicationContext()
    {
        Icon = new NotifyIcon();
    }
    public NotifyIcon Icon { get; set; }
}

然后,您可以在Application.Run(context)行之前将处理程序附加到通知图标,以允许打开主表单,显示菜单等内容。