【问题标题】:Windows Form Icon not showing in Taskbar C#Windows 窗体图标未显示在任务栏中 C#
【发布时间】:2013-02-05 09:44:37
【问题描述】:

我正在向我创建的表单添加一个图标。当我通过 VS2012 运行程序时,图标会出现在任务栏上。但在发布项目并安装后,图标会显示在表单边框中,但不会显示在任务栏中。我在这里做错了什么?

我已尝试调整图标大小。

【问题讨论】:

  • 生产环境的任务栏上显示了什么?它是WinForms 应用程序的默认图标吗?
  • eMi 解决了我的问题。不过感谢您的帮助! :) 是的,它是默认的空白窗口图标
  • 所以请接受eMi的回答。这样,每个人都知道您找到了问题的解决方案。这可以帮助其他有同样问题的人。

标签: c# .net winforms


【解决方案1】:

您是否转到项目的属性并在“应用程序”选项卡中设置了一个图标(这当然应该与用于主窗口的图标相同以避免任何混淆)?

【讨论】:

    【解决方案2】:

    您是否转到表单的属性并检查行 :Show icon = "True"?

    【讨论】:

      【解决方案3】:

      在获得正确的键盘焦点之前,对话框/表单图标不会出现在任务栏上。我不太确定什么是“正确”的焦点,但那些制作窗户的人都不是。这个问题通常伴随着缺少第一个表单激活事件(哦,是的,它经常发生)。当您隐藏所有表单(在 Windows 应用程序中)然后显示下一个表单时,可能会发生这种情况。

      所以这不起作用:

      newForm.Show () ;
      currentForm.Hide () ; //The newForm does not have the proper focus yet
      
      // actualy in this moment (I think) your application loose focus beacuse there is no application window.
      


      这可能会奏效:

      newForm.Shown += newForm_Shown ;
      newForm.Show () ;
      void newForm_Shown ( object sender , EventArgs e )
      {
          currentForm.Hide () ;
      }
      

      只要有可能,您应该在隐藏前一个表单之前显示下一个表单,然后在新表单的显示/激活事件期间隐藏当前表单。 我知道的其他工作是做一些延迟的表单激活。您可以在某些表单激活方法上尝试类似 BeginInvoke 的方法,但这通常是个坏主意。

      【讨论】:

        【解决方案4】:

        转到属性->应用程序->图标和清单

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-08-11
          • 1970-01-01
          • 2017-09-09
          • 2012-02-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-11-21
          相关资源
          最近更新 更多