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

时间:2013-02-05 09:44:38

标签: c# .net winforms

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

我尝试过调整图标大小。

5 个答案:

答案 0 :(得分:18)

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

答案 1 :(得分:3)

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

答案 2 :(得分:1)

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

enter image description here

答案 3 :(得分:0)

您可以尝试在" notifyIcon属性>图标"中添加图标区域也是。

答案 4 :(得分:0)

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

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