关闭winform但继续在任务栏中运行

时间:2013-09-07 15:37:12

标签: c# winforms

愚蠢的事我需要帮助。

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

我有一个简单的解决方案吗?

3 个答案:

答案 0 :(得分:2)

保持任务栏按钮需要窗口保持活动状态。你可以通过让窗口最小化而不是关闭来实现。这需要实现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);
    }

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

您需要做的是在应用程序加载上隐藏它,并使其在System Tray区域中运行,而不是让它在任务栏中运行。 NotifyIcon控件将帮助您实现此行为。您可以在this MSDN article中找到如何实现此类行为。

另见:

Creating Tray Applications in .NET: A Practical Guide

minimize app to system tray

How can I make a .NET Windows Forms application that only runs in the System Tray?