[英]Windows Form Icon not showing in Taskbar C#
我正在向我创建的表单添加一个图标。 当我通过 VS2012 运行程序时,图标显示在任务栏上。 但是在发布项目并安装它之后,该图标显示在窗体边框中,但没有出现在任务栏中。 我在这里做错了什么?
我试过调整图标大小。
您是否转到项目的属性并在“应用程序”选项卡中设置了一个图标(这当然应该与主窗口使用的图标相同,以避免混淆)?
你有没有去表格的属性和检查线:显示图标=“真”?
在获得正确的键盘焦点之前,对话框/表单图标不会出现在任务栏上。 我不太确定什么是“正确的”焦点,但是那些制造窗户的人都没有。这个问题通常缺少第一次形式激活事件(哦,是的,它定期发生)。 当您隐藏所有表单(在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的东西,但这通常是个坏主意。
您也可以尝试在“ notifyIcon properties> Icon ”区域中添加图标。
不适合我这个解决方案转到属性->应用程序->图标和清单在这里输入图像描述
我想出了一个解决类似问题的方法。
每次我从 Visual Studio 2022 运行我的程序(在调试或发布模式下)时,任务栏都会显示标准的通用图标。
但是当我使用 Windows Explorer 查看程序时,可执行文件是用正确的图标构建的。
之后,从 VS 2022 运行它时会出现正确的图标。
仅供参考:我必须为发布和调试文件夹中的可执行文件执行此步骤。
在我的情况下发生的事情是任务栏图标是表单图标而不是应用程序图标,因此您应该检查您的表单图标。
我遇到了类似的问题,当我设置TopMost = false
时,应用程序出现在任务栏中。
表单和应用程序图标在我的项目中设置为图标,但隐藏了表单“显示图标”,任务栏图标是空白矩形。
在表单上显示图标既显示在表单上,又更新了任务栏中的图标。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.