从一开始就隐藏我的窗户?

Jas*_*n94 3 c# winforms

我有一个表格(Form1,主要表格),我希望在一开始就隐藏它.

我想这样做是因为我有一个notifyIcon,通过点击,为表单设置可见的true或false,但是我无法在一开始就设置表单的可见性.

谢谢

dri*_*iis 5

您不必在启动时显示表单.您可以简单地使用Application.Run()不带Form实例的重载.这将启动Windows应用程序消息泵而不显示任何UI.

在执行Application.Run()之前,您可以设置要显示的NotifyIcon.实际上,这意味着NotifyIcon将在启动后可见,当用户与图标交互时,您可以打开表单.

这是一个最小化的C#程序:在启动时显示NotifyIcon,并在用户单击时显示一个Form:

using System;
using System.Drawing;
using System.Windows.Forms;

class Program
{
    static void Main()
    {
        NotifyIcon icon = new NotifyIcon();
        icon.Icon = new Icon("C:\\Windows\\System32\\PerfCenterCpl.ico");
        icon.Visible = true;
        icon.Click += (s,e) => new Form().Show();
        icon.DoubleClick += (s,e) => Application.Exit();
        Application.Run();
    }
}
Run Code Online (Sandbox Code Playgroud)