【问题标题】:Windows Forms: Keep application in "Applications" tab while hiding the first formWindows 窗体:将应用程序保留在“应用程序”选项卡中,同时隐藏第一个窗体
【发布时间】:2011-03-01 15:26:56
【问题描述】:

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

Application.Run(new Foo());

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

Bar bar = new Bar();

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

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

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

【问题讨论】:

    标签: c# .net windows winforms


    【解决方案1】:

    我过去做过的一个古老的烟雾和镜子技巧......让表单可见,但将其 LOCATION 设置为 top = 0, left = -5000,所以它不会在可视屏幕区域

    【讨论】:

    • @Tergiver,我不知道。
    • 谢谢。这种处理问题的方式让人觉得不可思议,但这似乎是唯一的方式。我也尝试最小化主要形式,但这会产生一系列全新的问题......
    【解决方案2】:

    如果 bar 继承自 windows 窗体。您是否尝试向该表单添加相同的图标?

    【讨论】:

    • 是的,Bar 派生自 Form。很抱歉没有说清楚。第二种形式已经使用了相同的图标。
    【解决方案3】:

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

    我不认为你可以这样做,但相反是可行的。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多