如何为主窗口和exe文件定义单个图标?

25

通常情况下,我需要设置两个不同的图标。一个在项目设置选项卡中,另一个是主窗口的Icon属性。有没有一种方式可以为整个应用程序(所有窗口和exe)定义单个图标?

更新:更具体地说,我有一个大小为100kb的应用程序。我想嵌入一个大小为300kb的图标,并希望我的应用程序变成400kb,而不是700kb。

2个回答

51

你需要在项目属性中设置图标:

输入图像描述

要更改任务栏图标,您需要更改主窗口的图标: 输入图像描述


1
我知道这个。问题是如何在一个地方定义图标,以便所有窗口都具有该图标。 - Poma
好的,所以你关心的是生成的exe文件的大小?你可以将图标单独保存,并在应用程序启动时动态加载它。在项目设置中指定一个图标,这样当你通过ALT-TAB浏览当前运行的应用程序时,该图标将显示在你的应用程序上。 - Adi
看起来我找到了如何做到这一点。我必须将图标添加到资源中并设置“编译时链接”。然后当我在项目属性中设置图标时,它变成了400kb,并且所有窗口的默认图标都正确设置了。不知道为什么当我简单地将它添加到项目中时会有所不同。所以它只是有效的 :) - Poma
顺便问一下,如何在运行时动态从exe中加载图标? - Poma
1
谢谢,这个答案对我非常有用。我给您投了一票!! - Adriana Hernández
显示剩余4条评论

17
当您设置exe图标时,WPF将在您创建的所有窗口中使用该图标。然而,在调试模式下它不会这样做 - 这是因为进程的“入口点”是.vshost.exe,而不是您的exe文件。但是如果您使用Ctrl + F5(无调试运行),您应该发现所有窗口都获得了exe图标。您不需要在每个窗口上重新设置它。
为了使其在调试模式下正常工作,我通常会设置一种样式,将其应用于每个窗口,该样式设置了应用程序图标。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接