关闭通知,但继续在任务栏中运行

本文关键字:任务栏 运行 继续 通知 | 更新日期: 2023-09-27 18:30:35

我需要帮助的愚蠢事情。

当我运行应用程序时,如果我点击 X 按钮关闭窗口,它会停止应用程序。我想要的是让它隐藏 winform 但继续在任务栏上运行(已经在任务栏上运行)。

有没有一个简单的解决方案让我做到这一点?

关闭通知,但继续在任务栏中运行

保留任务栏按钮需要窗口保持活动状态。 您可以通过最小化窗口而不是关闭窗口来做到这一点。 这需要实现 FormClosing 事件,如下所示:

    bool shouldTerminate;
    protected override void OnFormClosing(FormClosingEventArgs e) {
        if (e.CloseReason == CloseReason.UserClosing && !shouldTerminate) {
            e.Cancel = true;
            this.WindowState = FormWindowState.Minimized;
        }
        base.OnFormClosing(e);
    }

您可以处理表单关闭事件并使其隐藏表单而不是关闭它。

void myForm_FormClosing(object sender, FormClosingEventArgs e)
{
    e.Cancel = true;
    this.Hide();
}
与其

让它在任务栏中运行,不如在应用程序加载时隐藏它,并保持它在System Tray区域中运行。NotifyIcon控件将帮助您实现此行为。您可以在这篇 MSDN 文章中找到如何实现此类行为。

另请参阅:

在 .NET 中创建托盘应用程序:实用指南

将应用程序最小化到系统托盘

如何制作仅在系统托盘中运行的 .NET Windows 窗体应用程序?