【问题标题】:Setting a 256*256 icon for a C# application为 C# 应用程序设置 256*256 图标
【发布时间】:2013-08-05 11:12:02
【问题描述】:

我有一个 C# 项目快完成了,而且它足够大,不考虑重写它。现在我快完成了,我想为它设置一个图标,让它变得漂亮。经过大量错误和尝试后,我创建了一个 256*256 .ico 文件并将其设置为以下面板中的应用程序图标:

  1. 项目设置
  2. 应用程序选项卡
  3. 图标和清单
  4. 图标

问题在于,在 Windows 资源管理器中,.exe 文件的图标不会大于 32*32 像素(或者可能是 48*48,我不确定)并且图标周围有一个丑陋的框(我当找不到合适的图标大小时,认为 Windows 把它放在那里)。在这种情况下,正如我之前所说的,图标是一个仅 256*256 的 .ico 文件(文件中只有一帧,即 256*256 像素)。

为了进一步测试,我创建了另一个与前一个项目类似的项目,并设置了相同的图标文件,令我惊讶的是,编译后的 .exe 文件的图标与 Windows 资源管理器中的其他图标一样大。

谁能解决这个问题? Windows资源管理器是否有可能从缓存中显示较旧的?如果是这样,我该如何重置该缓存?

[更新]

我设法证明这是 Windows 资源管理器的错,因为它缓存了图标并且它向我显示了旧版本的图标。那么如何重置 Windows Explorer 的缓存呢?

【问题讨论】:

  • 抱歉,您的具体问题是什么?您想在应用程序标题栏中使用 256x256 图标吗?或者你想去掉黑色轮廓?
  • 我想为我的 .exe 文件添加一个 256*256 的图标,我很确定一旦完成,黑色轮廓会自动消失。
  • 您是否对 256px 图标使用 PNG 压缩?这将对您的可执行文件大小产生很大影响。
  • 我还没有那么远,但感谢您指出。

标签: c# icons


【解决方案1】:

图标缓存几乎肯定是这里的罪魁祸首。该系统在缓存图标方面非常积极,因为它认为这些图标是静态的。当然,这与开发者尝试应用程序相冲突。

一种简单的检查方法是获取具有错误图标的可执行文件并重命名该文件。这足以绕过缓存,您的大图标应该会出现。

重建图标缓存说明:http://www.sevenforums.com/tutorials/49819-icon-cache-rebuild.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-21
    • 2014-04-02
    • 1970-01-01
    • 1970-01-01
    • 2021-11-27
    • 2013-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多