Windows窗体图标未显示在任务栏C#

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

我试过调整图标大小。

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

你去过表格的属性和检查线:Show icon =“True”?

您也可以尝试在“ notifyIcon properties> Icon ”区域中添加图标。

在获得正确的键盘焦点之前,对话框/表单图标不会出现在任务栏上。 我不太确定什么是“正确的”焦点,但是那些制造窗户的人都没有。这个问题通常是缺少第一次forms激活事件(哦,是的,它定期发生)。 当您隐藏所有表单(在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 () ; } 

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