0

我正在使用 Visual Studio 创建一个程序。到目前为止,它只有一个带有按钮的窗口。

在 Form1.Designer.cs 中,它初始化窗口:

namespace Test
{
    private void InitializeComponent()
    {
        // I took out everything else, it isn't needed.

        // 
        // formMain
        // 
        this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
        this.BackColor = System.Drawing.SystemColors.ControlLightLight;
        this.ClientSize = new System.Drawing.Size(624, 442);
        this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
        this.Name = "formMain";
        this.Text = "Program Name";
        this.Load += new System.EventHandler(this.formMain_Load);
        this.menuBar.ResumeLayout(false);
        this.menuBar.PerformLayout();
        this.ResumeLayout(false);
        this.PerformLayout();

    }
}

在 Form1.cs 中:

    private void button1_Click(object sender, EventArgs e)
    {
        formMain.ActiveForm.Text = formMain.ActiveForm.Text + " - Project Name";
    }

...但是在我单击按钮后它不会更改窗口文本。更改文本后我也尝试过formMain.ActiveForm.Refresh(),但这没有用。我一直在寻找解决方案,但我是 C# 新手。你们中有人对我有什么想法吗?

4

2 回答 2

2

你尝试过这样的事情吗?

private void button1_Click(object sender, EventArgs e)
{
    this.Text = "Works!";
}
于 2013-08-19T23:22:44.027 回答
0

首先,永远不要编辑designer.cs代码。这是自动生成的,如果您编辑文件,您可能会破坏。

其次,您向我们展示的代码formMain尚未初始化为任何内容,因此您尝试设置属性(例如其 Text 属性)时会出错。所以你有两个选择:

  1. 设置formMain为您的表单(不推荐,因为下一个选项)
  2. 使用this对象。this指您正在使用的当前对象(在这种情况下,您指的是您的表单)。

您可以设置表单的 Text 属性来更改表单的标题。例如:

this.Text = "Hello World!";
于 2013-08-20T00:35:14.437 回答