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

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

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

【问题讨论】:

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

标签: c# winforms titlebar


【解决方案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";
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-11-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多