Hide() 在应用程序启动时不起作用

Hide() does not work when application is starting up

我正在开发一个应用程序,该应用程序在启动时会最小化并在系统托盘中显示并带有通知图标。

当应用程序 运行ning 并且我将其最小化时,在 Resize 事件中形成 运行s Hide() 方法以隐藏 window 并且它有效(window 从任务栏中隐藏并在系统托盘中显示通知图标)。问题是应用程序启动时。它被配置为 运行 最小化。

启动时出现系统托盘图标,window最小化,但显示在任务栏中。

有什么问题?

这是调整大小事件:

    private void frmMain_Resize(object sender, EventArgs e)
    {
        if (this.WindowState == FormWindowState.Minimized)
        {
            Hide();
            notifyIcon.Visible = true;
            notifyIcon.ShowBalloonTip(200);
        }
    }

我会尝试将所有代码放在 Load 事件中而不是 Resize:

private void frmMain_Load(object sender, EventArgs e)
{
    if (this.WindowState == FormWindowState.Minimized)
    {
        Hide();
        notifyIcon.Visible = true;
        notifyIcon.ShowBalloonTip(200);
    }
}

仅当以某种方式手动调整应用程序大小时才会调用 Resize 事件(我知道这就是为什么当您单击最小化按钮但它不会在启动时起作用的原因)。

试试这个

namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Resize(object sender, EventArgs e)
        {
            HideWindow();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            HideWindow();
        }

        private void HideWindow()
        {
            if (this.Visible == true)
            {
                if (this.WindowState == FormWindowState.Minimized)
                {
                    this.Hide();
                }
            }
        }
    }
}