winforms Windows Form图标未显示在工作列C#中

rggaifut  于 2022-12-14  发布在  Windows
关注(0)|答案(7)|浏览(190)

我正在添加一个图标到我创建的窗体中。当我通过VS2012运行程序时,图标显示在任务栏上。但是在发布项目并安装后,图标显示在窗体边框中,而不是在任务栏中。我在这里做错了什么?
我已尝试调整图标大小。

uoifb46i

uoifb46i1#

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

nwnhqdif

nwnhqdif2#

您是否转到表单的属性并选中行:Show icon =“True”?

bpzcxfmw

bpzcxfmw3#

一个对话框/窗体图标只有在得到正确的键盘焦点时才会出现在任务栏上。我不太确定什么是“正确的”焦点,但那些创建windows的人都不确定。这个问题通常是由于缺少第一个窗体激活事件(哦是的它经常发生)。当你隐藏所有窗体(在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的东西,但这通常是个坏主意。

yyyllmsg

yyyllmsg4#

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

von4xj4u

von4xj4u5#

我想出了一个类似问题的解决方案。
每次我从Visual Studio 2022运行程序(在调试发布模式下)时,任务栏都会显示标准的通用图标。

但是当我使用Windows资源管理器查看程序时,可执行文件正在用正确的图标构建。

我的修复
  • 我在Windows资源管理器中右键单击可执行文件,并选择“固定到任务栏"。
  • 然后我从VS 2022再次运行程序,任务栏显示了正确的图标。
  • 运行后,我从任务栏中取消固定它。

之后,从VS 2022运行时出现了正确的图标。

仅供参考:我必须对releasedebug文件夹中的可执行文件执行此步骤。

我的设置:

***操作系统:**Windows 11专业版
***集成开发环境:**Visual Studio 2022
***项目:**C# Windows窗体应用程序

  • 在项目-属性-〉应用程序-〉[Win32资源]-〉图标中设置的ICO文件
  • 在项目-属性-〉包-〉常规-〉图标中设置分辨率为128 x128的PNG文件

px9o7tmv

px9o7tmv6#

在我的例子中,任务栏图标是表单图标,而不是应用程序图标,所以您应该检查表单图标。

ql3eal8s

ql3eal8s7#

窗体和应用程序图标在我的项目中被设置为一个图标,但窗体“显示图标”被隐藏,任务栏图标是空白矩形。
在窗体上显示图标既在窗体上显示了图标,又更新了任务栏中的图标。

相关问题