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

29
我想将一个C# WinForms应用程序最小化到系统托盘中。我尝试过这样做:当点击按钮时,使应用程序最小化到系统托盘?第一次最小化时,它在屏幕上找不到 - 任务栏/任务栏上方/托盘。如果我按下alt+tab,我可以在那里看到我的应用程序;如果我alt+tab回到它并再次最小化它,它就会出现在任务栏上方:

minimize

我做错了什么?
4个回答

41

当最小化时隐藏表单,然后在单击托盘图标时显示表单,这个选项怎么样?

在表单的 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;
    }

10

你需要在表单中添加一个NotifyIcon。然后,你可以使用 NotifyIcon 的 Click 事件,让它将你的 FormVisible 属性设置为 true


3

您需要在NotifyIcon上添加图标才能使其可见。


0
你需要设置窗体的属性 ShowInTaskbar = true。这样它就会自动最小化到任务栏。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接