如何将WinForms应用程序最小化到通知区域?

时间:2011-06-11 16:13:53

标签: c# .net windows winforms notifyicon

我想将C#WinForms应用程序最小化到系统托盘。我试过这个:

Having the application minimize to the system tray when button is clicked?。我第一次最小化它,它在屏幕上找不到 - 任务栏/任务栏/托盘上方。

如果我点击alt标签,我可以在那里看到我的应用;如果我将选项卡添加到其中并再次将其最小化,它将显示在任务栏上方:

minimize

我做错了什么?

4 个答案:

答案 0 :(得分:37)

如果在最小化时隐藏表单,然后在单击托盘图标后显示该选项,该怎么办?

在表单resize事件中,执行检查并隐藏表单

   private void Form_Resize(object sender, EventArgs e)
    {
        if (WindowState == FormWindowState.Minimized)
        {
            this.Hide();
        }
    }

然后点击任务栏图标时,只需将其恢复。

    private void notifyIcon_Click(object sender, EventArgs e)
    {
        this.Show();
        this.WindowState = FormWindowState.Normal;
    }

答案 1 :(得分:10)

您需要在表单中添加NotifyIcon。然后,您可以使用NotifyIcon的Click事件将Visible的{​​{1}}属性再次设置为Form

答案 2 :(得分:3)

您需要在NotifyIcon上添加一个图标才能显示。

答案 3 :(得分:0)

您必须设置表单的属性ShowInTaskbar = true。它会自动最小化到任务栏。