c# - 为C#应用程序设置256*256图标

标签 c# icons

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

  1. 项目设置
  2. “应用程序”选项卡
  3. 图标和 list
  4. 图标

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

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

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

[更新]

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

最佳答案

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

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

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

关于c# - 为C#应用程序设置256*256图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18056767/

相关文章:

c# - 删除按钮 SQL 数据库 Windows 窗体应用程序

c# - 从 winforms 运行 aspx 页面

c# - 并发下的 Queue<T> 为不同的类型提供不同的结果

javascript - 使用 HTML、JS 中的按钮切换音频播放

c# - 阻止 asp :Button OnClick event in C# from the OnClientClick event in JavaScript?

c# - Microsoft.Office.Interop.Outlook 错误 - 文件 filename.ics 不是有效的 Internet 日历文件

JavaFX 2 窗口图标不工作

ios - 在 Xcode 中将 "AppIcon"添加到项目的最有效方法?

php - 在最近帖子的标题旁边显示帖子格式图标

ios - 如何在 Xcode 6.0.1 中设置应用程序图标