托盘图标应用程序标题可以在运行时更改吗?

时间:2013-04-08 19:54:45

标签: .net winforms trayicon assemblyinfo

在用于自定义托盘图标的“控制面板”小程序中,将显示应用程序的名称。在WinForms应用程序中,可以在编译时使用AssemblyTitle值更改此名称,如图所示。

enter image description here

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

1 个答案:

答案 0 :(得分:1)

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

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

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

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

  

我正在尝试品牌化和本地化这个价值。我宁愿把它定义为一个配置选项,而不是要求我改变我的构建过程。

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

请参阅以下问题,详细了解如何完成此操作:

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