如何隐藏窗体,但为其保留任务栏条目?

时间:2009-09-23 17:54:24

标签: c# visual-studio-2008

我正在编写一个C#Windows窗体应用程序。如何隐藏表单,同时在Windows taskbar

中保持活动状态

我尝试将Visible属性设置为false并使用Hide()方法,但它们隐藏了表单和任务栏条目。

我还尝试通过在WindowStateFormWindowState.Minimized事件中将OnLoad设置为onResize来永久地最小化应用程序。这非常有效,但是当您左键单击任务栏中的图标时,您会在调整大小之前快速刷新应用程序(这有点烦人)。

很抱歉,如果之前出现过此问题,但到目前为止我看到的每个问题都会完全隐藏任务栏,或者将应用程序作为任务栏项删除(由NotifyIcon替换。)< / p>

如何解决此问题?

2 个答案:

答案 0 :(得分:4)

设置

FormBorderStyle = None 

&安培;在加载事件中:

private void Form1_Load(object sender, EventArgs e)
{
    this.Size = new System.Drawing.Size(0, 0);
}

答案 1 :(得分:3)

正如dequadin所提到的,你正在使用的范例可能证明了通知图标的合理性。任务栏专门用于最小化窗口(以及Win7,应用程序启动)。所有其他建议(形式不透明,在屏幕外移动窗口等)都会落在Win7上的Aero Peek。

如果你的应用程序主要是一个后台任务,偶尔需要用户界面和按需进行用户交互,那么正确的技术就是系统通知区域(又称托盘)。在.NET WinForms中,这将是NotifyIcon控件。