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



我有一个表单(Form1,主表单),我希望在一开始就隐藏它。

我想这样做,因为我有一个notifyIcon,通过点击,设置可见true或false的形式,但我不能设置可见性的形式在一开始

谢谢

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

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

下面是一个简单的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();
    }
}

我有一个应用程序就是这样做的。为了解决这个问题,在表单的OnLoad中这样做,它不会直接出现在任务栏中:

protected override void OnLoad(EventArgs e)
{
    Visible = false;
    ShowInTaskbar = false;
    base.OnLoad(e);
}

最新更新