How do you change the text in the Titlebar in Windows Forms?

C#WinformsTitlebar

C# Problem Overview


I am trying to set a condition that would change the writing inside the title bar...

But how do I change the title bar text?

C# Solutions


Solution 1 - C#

For changing the Title of a form at runtime we can code as below

public partial class FormMain : Form
{
    public FormMain()
    {
        InitializeComponent();
        this.Text = "This Is My Title";
    }
}

Solution 2 - C#

You can change the text in the titlebar in Windows Forms by using the Text property.

For 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();
   }
}

Solution 3 - C#

All the answers that include creating an new object from Form class are absolutely creating new form. But you can use Text property of ActiveForm subclass in Form class. For example:

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

Solution 4 - C#

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;
    }
}

I was having some problems with inserting date and time into the name of the form. Finally found the error. I'm posting this in case anyone has the same problem and doesn't have to spend years googling solutions.

Solution 5 - C#

If you want to update it later, once "this" no longer references it, I had some luck with assigning a variable to point to the main form.

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

Solution 6 - C#

Since nobody has given a proper answer that doesn't use the keyword this over and over or the property window has been "uncluttered" so that nothing is there anymore, here is 2022 code in a WinForm .net core app that will change the text and display the form when you run it.

    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Form1 form = new Form1();
        form.Text = "Your Text Here";
        Application.Run( form);                     
    }

Solution 7 - C#

this.Text = "Your Text Here"

Place this under Initialize Component and it should change on form load.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionDmitry MakovetskiydView Question on Stackoverflow
Solution 1 - C#Ali Reza KalantarView Answer on Stackoverflow
Solution 2 - C#AlpineView Answer on Stackoverflow
Solution 3 - C#Ismail SuleimanovView Answer on Stackoverflow
Solution 4 - C#Maj RView Answer on Stackoverflow
Solution 5 - C#user3029478View Answer on Stackoverflow
Solution 6 - C#joseph jonesView Answer on Stackoverflow
Solution 7 - C#Ejaz AliView Answer on Stackoverflow