16

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

我试过调整图标的大小。

4

4 回答 4

24

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

于 2013-02-05T09:46:58.100 回答
8

您是否转到表单的属性并检查行:显示图标 =“真”?

于 2016-04-11T14:55:07.193 回答
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 的方法,但这通常是个坏主意。

于 2018-02-14T13:22:15.487 回答
2

Go to Properties->Application->Icon and manifest

enter image description here

于 2021-07-08T19:34:48.020 回答