编译时如何在 C# 代码中以编程方式更改图标(主窗体 + 另一个子窗体)

How to change icon ( of main Form + another child forms) programatically in c# code while compilation

我正在为如何在编译期间更改主程序图标而苦恼。 我知道它可以在 Visual Studio Project-> Properties -> Application -> 中更改,并且有按钮 Change icon。

好的,如果不手动设置这个图标,我现在如何做完全一样的事情呢?我只想通过 C# 代码更改它。有可能吗? 屏幕设置如下所示:

我在表单加载事件中尝试了这段代码,但它只会在我启动我的应用程序后更改图标。

System.Drawing.Icon ico = new System.Drawing.Icon(FastFoodDemo.Properties.Resources.red_mark);
this.Icon = ico;

问题是:如何在编译过程中更改应用程序主图标,而无需像上面的屏幕截图那样手动操作。请不要将此 post 设为重复,我搜索了很多网页,但在 c# 中找不到任何解决方案。

您可以使用 MSBuild 执行此操作:

MSBuild MySolution.sln /target:publish /property:ApplicationIcon=companyA.ico /p:Configuration=Release

注意 Configuration=Release - 根据需要更改它。

只需将 MySolution.sln 替换为您的解决方案名称即可。新图标应该在 project 文件夹中(假设它与您的解决方案文件夹不同)。

  • 使用 MSBuild 的简单方法是使用开发人员命令提示符(在“开始”菜单的 Visual Studio 2017 下)。
  • 另一种方法是在 C:\Program Files (x86)\Microsoft Visual Studio17\Community\MSBuild.0\bin 下手动找到它 - 请注意,您可能需要根据您使用的版本替换 2017、Community 和 15.0。请参阅 了解替代方案。