动态更改Windows窗体窗口标题(在运行时)

时间:2014-02-27 07:48:09

标签: c# winforms

我正在编写基于C#.NET 4.5的Windows窗体应用程序。

我知道如何以编程方式修改主窗口的标题,如下所示:

public partial class MyForm: Form
{
    public MyForm()
    {
        InitializeComponent();
        if (!PRODUCTION)
        {
            this.Text += " (test environment)";
        }
    }
 }

然而,到目前为止,我的所有研究表明,必须在加载/显示表单之前完成。我希望能够在应用程序运行时更改窗口标题,就像Web浏览器更改其窗口标题以包含当前网页的名称一样。

这可能吗?如果是这样,怎么样?

谢谢!

2 个答案:

答案 0 :(得分:15)

试试这个:

this.Text += " (test environment)";
this.Update();

或那:

this.Text += " (test environment)";
this.Refresh();

您可以随时调用这些方法,而不是依赖客户端操作。区别在于Update只重绘FormRefresh重绘Form以及所有包含的控件

答案 1 :(得分:0)

您在哪里定义并为PRODUCTION分配价值?可以轻松更改表单上的文本。检查此代码:

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            this.Text += "From Ctor";
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.Text = "New text";
        }
    }