70 votes

Comment modifier le texte de la barre de titre dans Windows Forms ?

J'essaie de définir une condition qui modifierait l'écriture à l'intérieur de la barre de titre...

Mais comment modifier le texte de la barre de titre ?

0 votes

Voulez-vous parler du texte lui-même ou de la police utilisée pour l'afficher ? Par ailleurs, vous devriez revoir les questions que vous avez posées précédemment et marquer certaines réponses appropriées comme acceptées.

131voto

Ali Reza Kalantar Points 231

Pour modifier le titre d'un formulaire au moment de l'exécution, nous pouvons coder comme suit

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

14 votes

Cette réponse devrait être acceptée. Je ne sais pas pourquoi les autres réponses tentent d'inclure autant d'informations inutiles.

3 votes

C'est la réponse parfaite. pourquoi n'est-elle pas acceptée ?

1 votes

Parce que cette "réponse" définit le texte dans le constructeur du formulaire alors que l'OP voulait savoir comment définir la propriété Text du formulaire avant qu'il ne soit affiché avec ShowDialog().

66voto

Alpine Points 2155

Vous pouvez modifier le texte de la barre de titre dans Windows Forms à l'aide de la fonction Text propriété.

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

0 votes

Cela fonctionne, mais lorsque je ferme le formulaire 1, un autre formulaire apparaît ? pourquoi ? l'autre formulaire me présente le formulaire du titre. pourquoi y a-t-il deux formulaires ouverts ?

0 votes

Le premier est un MessageBox qui montre que l'application est en cours d'exécution mais rien n'est montré à l'utilisateur jusqu'à ce que ` f1.ShowDialog();` soit exécuté.

0 votes

Je viens de mettre votre code dans la classe au nom de l'espèce et il y a une erreur. Ensuite, j'ai simplement mis f1.Text,,, et cela a ouvert deux fenêtres.

7voto

Toutes les réponses qui incluent la création d'un nouvel objet à partir de Form créent absolument de nouvelles form . Mais vous pouvez utiliser Text propriété de ActiveForm dans la sous-classe Form classe. Par exemple :

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

0voto

Maj R Points 19
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;
    }
}

J'ai eu quelques problèmes avec l'insertion de la date et de l'heure dans le nom du formulaire. J'ai finalement trouvé l'erreur. Je poste ce message au cas où quelqu'un aurait le même problème et n'aurait pas à passer des années à chercher des solutions sur Google.

1 votes

La solution a déjà été fournie, ceci n'ajoute aucune information nécessaire à ce sujet.

0voto

user3029478 Points 51

Si vous souhaitez le mettre à jour plus tard, une fois que "this" n'y fait plus référence, j'ai eu de la chance en assignant une variable qui pointe vers le formulaire principal.

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X