Windows窗体:在隐藏第一个窗体时将应用程序保留在“应用程序”选项卡中

时间:2011-03-01 15:26:56

标签: c# .net windows winforms

假设我正在编写一个Windows Forms(.NET Framework 3.5)应用程序,它以通常的方式显示第一个表单:

Application.Run(new Foo());

此时,此应用程序的标题和图标正确显示在任务管理器的“应用程序”选项卡中,我很高兴。
然后在Foo的某个地方,我隐藏第一个表格时显示第二个表格:

Bar bar = new Bar();

try
{
    Visible = false;
    bar.ShowDialog();
}
finally
{
    Visible = true;
    bar.Dispose();
}

这可以按预期工作,但只要隐藏了Foo,应用程序任务管理器的“应用程序”选项卡中的条目也会消失。不幸的是,一些用户和第三方工具对此感到非常困惑。

如果应用程序的“主要表单”不可见,有没有办法在任务管理器中显示应用程序的图标和名称?

3 个答案:

答案 0 :(得分:2)

我过去做过的古代烟雾诡计......让表格可见,但将其位置设置为top = 0,left = -5000,所以它不会出现在可见屏幕区域

答案 1 :(得分:0)

如果bar是从Windows窗体继承的。您是否尝试在该表单中添加相同的图标?

答案 2 :(得分:0)

这是Windows的按设计,如果主要启动的窗口被隐藏,它在“应用程序”选项卡中的条目也会被隐藏。

我认为你不能这样做,但事实恰恰相反。

我猜测背后的原因是,当你隐藏一个窗口时,你实际上是在做它或者用作服务/后台应用程序。