隐藏WinForms应用程序的任务栏图标

27

如何隐藏一个winform窗体,使其在Windows任务栏中不显示,用户也看不到它,或者当用户按下Alt+Tab时也不会显示?

2个回答

36
在代码中执行以下操作:
```html this.ShowInTaskbar = false; ```
或在设计模式下:
```html alt text ```
编辑:
你还必须设置 `FormBorderStyle`。
代码:
```html this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; ```
设计:
```html alt text ```
这绝对有效-这些是在 Windows Vista 上使用的一些屏幕截图。
应用程序运行中:
```html alt text ```
不会出现在 ALT + TAB 中:
```html alt text ```

不要使用这种方式隐藏WinForm,以免影响Alt + Tab。 - Ata
或者将FormBorderStyle设置为FixedToolWindow,如果您不希望窗体可调整大小。 - B. Clay Shannon-B. Crow Raven
我该如何在VS2012中实现这个?我不知道这是否有所区别。我正在使用用户控件并将其包装在表单中。我没有看到FormBorderStyle选项。我只看到了三个选项:NoneFixedSingleFixed3DBorderStyle - Chris
当我尝试除了None以外的任何东西时,当尝试将子面板添加到表单时,它会抛出错误。错误显示“值不能为空”。调试器告诉我this.panel1为空... - Chris

8

如果你想要隐藏你的表单不出现在Alt+Tab对话框中,可以将以下代码添加到你的表单类中:

// Remove from Alt+Tab dialog
protected override CreateParams CreateParams
{
    get
    {
        var Params = base.CreateParams;
        Params.ExStyle |= 0x80;
        return Params;
    }
}

好的解决方案,只需注意这也会将其隐藏在任务管理器应用程序列表中。 - clamchoda
我投赞成票是因为它隐藏在任务管理器中。 - oware

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