WinApp标题栏图标

5

在我的桌面应用程序中,我在运行时使用一个128x128的.ico文件。

public frmMain()
{
    InitializeComponent();
    this.Icon = Properties.Resources.MyIcon;
}

在任务栏中看起来不错,但是在标题栏中却显得朦胧。我正在使用win8(64位)。有什么技巧可以克服这个问题吗?
!!! 更新 !!!

1
一些屏幕截图会很好看。 - Sergey Berezovskiy
我认为图标文件可以包含多个尺寸,Windows会在有效的情况下使用适当大小的图标,您可能需要检查一下这一点。 - Eluvatar
@David Heffernan,请您能否添加一些细节? - s.k.paul
1个回答

3
图标(.ico文件)支持多个尺寸/版本的给定图像。确保您在图标中嵌入了所有适当的尺寸。
有一些免费的图标编辑器可供选择,Visual Studio内置了一个(相当差的)图标编辑器。我过去使用过IcoFX,它有一个30天的免费演示版本。我相信还有其他免费的图标编辑器可供选择,包括Photoshop的插件。
您可以查看VS图标编辑器(下面是多种格式): enter image description here

1
@David Heffernan:他指的是.ico格式,而不是“Icon”类。至少根据他回答中的其他内容是这样理解的。 - BoltClock
2
我认为对于ico图像格式存在误解,因此可能需要更具体地说明。System.Drawling.Icon是.ico文件的表示形式,该文件旨在容纳不同大小的多个图像。应用程序将在运行时选择最合适的图像进行显示。因此,在详细资源管理器视图中的应用程序图标可能使用最小的图像,如果您将视图更改为大图标,则会使用图像的较大版本。我的答案虽然可能不是100%清晰,但是是正确的。 - Michael Cook
1
我也是这样理解的。 - BoltClock
2
@Bolt 好的,这比较复杂。虽然 Icon 只有一个图像,但它还会缓存加载该图像的位置。这允许使用此构造函数(http://msdn.microsoft.com/en-us/library/7fhec722.aspx),该构造函数返回图标的原始源并获取不同大小的新图像。似乎框架足够聪明,能够利用 Icon 的这个功能。因此,这个答案确实很好。+1 - David Heffernan

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