将设计器时的Form.Text设置为非常量字符串

时间:2015-08-20 18:43:34

标签: c# .net winforms titlebar

我没有在VS属性网格上设置form.Text,而是在应用程序的程序集信息中设置了正确的名称,以便我在任何地方使用应用程序的名称或版本,我需要在一个地方进行更改。

通常会在Microsoft (R) Macro Assembler Version 8.00.50727.762 Copyright (C) Microsoft Corporation. All rights reserved. Assembling: C:\src\dllmain.asm 事件中设置form.Text这样的内容:

Form1_Load

所以我只看到应用程序名称,因为我只在运行时在程序集信息中设置,在设计器时我有“form1”所以要改变它我决定移动这行:

private void Form1_Load(object sender, EventArgs e)
{
    this.Text = System.Windows.Forms.Application.ProductName;
}

对于this.Text = System.Windows.Forms.Application.ProductName; 方法,它有效。标题改变了但是:

enter image description here

有没有办法解决这个问题并获得我在汇编信息中设置的正确名称而不是Microsoft的名称?

3 个答案:

答案 0 :(得分:2)

System.Reflection.Assembly.GetExecutingAssembly().GetName().Name

应包含从Project - >下的Assembly Name字段设置的应用程序名称。属性。

答案 1 :(得分:1)

我不确定您的意思,但您可以将内容放入<appSettings> <add key="FormTitle" value="Your Title"/> </appSettings> 设置文件中,如下所示:

ConfigurationManager.AppSettings["FormTitle"]

然后回读应用程序,如:

new TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta

或者&#34; .resx&#34;资源文件

答案 2 :(得分:1)

您在设计时看到的表单是在实际解决方案之外的其他环境下托管的。因此,为什么你会看到这种行为。

如果您确实想在设计时查看它,则应将产品名称存储在资源文件中,或存储在App.config中,如@Aniket指出的那样。