如何更改 Windows 窗体中标题栏中的文本?

Posted

技术标签:

【中文标题】如何更改 Windows 窗体中标题栏中的文本?【英文标题】:How do you change the text in the Titlebar in Windows Forms? 【发布时间】:2011-07-03 12:21:40 【问题描述】:

我正在尝试设置一个条件来更改标题栏中的文字...

但是如何更改标题栏文字呢?

【问题讨论】:

您是指文本本身,还是用于显示它的字体?此外,您应该返回并查看您之前提出的问题,并将一些适当的答案标记为已接受。 【参考方案1】:

您可以使用 Text 属性更改 Windows 窗体标题栏中的文本。

对于 C#

// This class is added to the namespace containing the Form1 class.
class MainApplication

   public static void Main()
   
      // Instantiate a new instance of Form1.
      Form1 f1 = new Form1();

      // Display a messagebox. This shows the application
      // is running, yet there is nothing shown to the user.
      // This is the point at which you customize your form.
      System.Windows.Forms.MessageBox.Show("The application "
         + "is running now, but no forms have been shown.");

      // Customize the form.
      f1.Text = "Running Form";

      // Show the instance of the form modally.
      f1.ShowDialog();
   

【讨论】:

有点工作。但是当我关闭Form1时,会出现另一个表单??这是为什么?另一种形式向我展示了标题形式..为什么打开了两种形式 第一个是MessageBox,表示应用程序正在运行,但在执行`f1.ShowDialog();`之前什么都不会显示给用户。 我只是将您的代码放在类中的名称规范中,它会引发错误。然后我简单地设置了 f1.Text,,, 它打开了两个窗口 可以贴出部分代码吗?你的班级名称是什么?是Form1吗? 你是两次创建Form1的实例吗?【参考方案2】:

为了在运行时更改表单的标题,我们可以编写如下代码

public partial class FormMain : Form

    public FormMain()
    
        InitializeComponent();
        this.Text = "This Is My Title";
    

【讨论】:

这应该是被接受的答案。不知道为什么其他答案试图包含这么多不必要的信息。 这是完美的答案。为什么它不是公认的答案? 因为这个“答案”在表单的构造函数中设置了文本,而 OP 想知道如何在使用 ShowDialog() 显示表单之前设置表单的 Text 属性。【参考方案3】:
public partial class Form1 : Form

    DateTime date = new DateTime();
    public Form1()
    
        InitializeComponent();

    private void timer1_Tick(object sender, EventArgs e)
    
        date = DateTime.Now;
        this.Text = "Date: "+date;
    

我在将日期和时间插入表单名称时遇到了一些问题。终于找到错误了。我发布这个以防有人遇到同样的问题并且不必花费数年时间搜索解决方案。

【讨论】:

已经提供了解决方案,这里没有添加任何本主题所需的信息。【参考方案4】:

包括从Form 类创建新对象的所有答案绝对是创建新form。但是您可以在Form 类中使用ActiveForm 子类的Text 属性。例如:

        public Form1()
    
        InitializeComponent();
        Form1.ActiveForm.Text = "Your Title";
    

【讨论】:

【参考方案5】:
this.Text = "Your Text Here"

把它放在初始化组件下,它应该会在表单加载时改变。

【讨论】:

【参考方案6】:

如果你想稍后更新它,一旦“this”不再引用它,我很幸运地分配了一个变量指向主窗体。

  static Form f0;
  public OrdUpdate()
  
   InitializeComponent();
   f0=this;
  
  // then later you can say
  f0.Text="New text";

【讨论】:

以上是关于如何更改 Windows 窗体中标题栏中的文本?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 javax.swing 中标题栏的颜色?

更改 WinForm 中标题栏的颜色

从另一个类更改标签文本

MFC 中标题栏上的关闭按钮

如何通过在 C# windows 窗体中的文本框中输入来更改图像的大小?

Xamarin.Forms UWP 项目中标题栏和选项卡之间令人讨厌的空白