【问题标题】:Form icon won't show in WinForms表单图标不会显示在 WinForms 中
【发布时间】:2021-03-07 17:15:01
【问题描述】:

我正在学习 C# 编程入门课程,我即将完成的作业的目标之一是在 WinForms 应用程序的主窗体(左上角)中包含一个存储为资源的图标。 Form的所有属性都是默认的。

我无法弄清楚为什么它不起作用。我可以创建一个图标资源,并且可以从代码中访问它。该图标名为 T32.ico。

this.Icon = Properties.Resources.T32;

一切都编译好了,但实际显示的图标仍然是默认图标。我试过 16x16 bmp 和 32x32 bmp,8 位和 32 位版本。

如果重要的话,我正在运行 Windows 10 并使用 Visual Studio Community 2019、16.8.2,而我正在编写的应用程序使用的是 .NET Framework 4.8。

非常感谢任何指导。

【问题讨论】:

  • 你在哪里设置 this.Icon 到资源?
  • 编译应用程序,然后从可执行文件中运行它。我之前在调试过程中看到过这种情况,但是从 .exe 文件运行时它可以工作。
  • 使用this免费服务构建多格式图标。提交 PNG 并选择 Custom Sizes -> Multi-Size in one icon。选择所有尺寸。获取生成的图标并将其添加到Project-> Resources->Icons。在InitializeComponent()之后设置Form Constructor中的Icon。
  • @shox,在表单加载事件中。

标签: c# winforms icons


【解决方案1】:

经过数小时探索所有可能的方面后,我想我找到了根本原因。

在 Visual Studio 中创建图标资源时,会自动创建一组不同的图标格式,所有这些都在一个 .ico 文件中。 32 位图标无法使用 Visual Studio 图像编辑器进行编辑,而 8 位图标可以。出于某种原因,该应用程序似乎默认为 32 位图标之一。

通过删除除 8 位版本之外的所有版本,我能够使其正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-13
    • 1970-01-01
    • 2012-10-03
    相关资源
    最近更新 更多