我可以';似乎没有改变C#中的窗口形式文本
本文关键字:窗口 文本 改变 我可以 | 更新日期: 2023-09-27 18:28:19
我正在使用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#的新手。你们有什么想法吗?
你试过这样的东西吗?
private void button1_Click(object sender, EventArgs e)
{
this.Text = "Works!";
}
首先,永远不要编辑designer.cs
代码。这是自动生成的,如果你编辑文件,你可以破坏东西。
其次,对于您向我们展示的代码,formMain
还没有初始化为任何内容,因此它将在您尝试设置属性(例如其Text属性)时出错。所以你有两个选择:
- 将
formMain
设置为您的表单(由于下一个选项,不建议使用) - 使用
this
对象。this
指的是您正在处理的当前对象(在本例中,您指的是表单)
您可以设置表单的Text属性来更改表单的标题。例如:
this.Text = "Hello World!";