1

在用于自定义托盘图标的控制面板小程序中,显示了应用程序的名称。在 WinForms 应用程序中,此名称可能会AssemblyTitle在编译时随值更改,如镜像所显示。

在此处输入图像描述

是否可以在运行时更改此值,可能使用表单属性或其他方法?

4

1 回答 1

1

正如您所说,此对话框中显示的名称是可执行文件给出的程序名称。在 .NET 的世界中,它作为AssemblyTitle属性公开。

但这在运行时是只读的,因为它直接编译到您的可执行文件中,既作为托管元数据,也作为非托管 Win32 资源数据。不重新编译就无法更改它。

所以你的问题的简单答案是否定的。

但我真的无法弄清楚你在这里想要完成什么,更不用说为什么了。你在回答罗伯特哈维的问题时这么说:

我正在尝试品牌化和本地化该价值。我宁愿将其定义为配置选项,也不愿要求我更改构建过程。

本地化资源和运行时配置选项之间存在很大差异。您仍然可以在编译时本地化该值,但这需要对您的构建过程进行一些更改。如果你真的需要这个,我不知道为什么这很重要。一次更改构建过程比编写和维护在运行时动态修改可执行文件的代码要容易得多。

有关如何着手完成此任务的详细信息,请参阅这些问题:

当然,如果我没有指出本地化应用程序的名称是一件非常奇怪的事情,那我就失职了。如果我有一个英文名为“Text Editor”的应用程序,我不希望在瑞典语版本中名称为“Textredigerare”。缺乏一致性会破坏我的品牌,而不是改善它。除非您正在使用一堆实用程序创建操作系统,否则用户会通过其名称知道您的程序。选择一个名字——任何语言——并坚持下去。

于 2013-04-08T21:55:57.090 回答