Modifier dynamiquement le nom d'une form [Résolu]

Signaler
Messages postés
89
Date d'inscription
mardi 19 janvier 2010
Statut
Membre
Dernière intervention
21 juin 2016
-
 damo1 -
bonjour,
j'ai une form windows, je peux modifier le texte de la form en allant dans les propriètés de la form. j'ai crée un textbox pour que l'internaute puisse donner un titre à l'application (l'idée est quand on lance plusieurs fois l'application, qu'on puisse avoir des titres personnalisés pour s'y retourver...)
donc ce que j'aimerai faire c'est quand l'internaute rempli la textbox, que le titre (form1.text) change automatiquement.
j'ai pensé à : form1.Textchanged mais j'ai un msg d'erreur que je ne comprend pas (erreur : doit etre à gauche de += ou -=)
merci de m'aider.

13 réponses

Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
30
Bonsoir

Ton code sert à changer le nom d'une Form que l'on va créer, pas une dèjà créée.
si ton textbox8 est dans la Form dont tu veux changer le nom
private void textBox8_TextChanged(object sender, EventArgs e)
{
    // change le titre le la form en cours
    this.Text = textBox8.Text;
}

si non, s'il s'agit d'une autre Form
private void textBox8_TextChanged(object sender, EventArgs e)
{
    // change le titre de la fenetre de form1
    form1.Text = textBox8.Text;
}


Bob.

C# is amazing, enjoy it!
Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
30
Bonjour Karibot

la propriete form1.Textchanged est un evenement, lancé quand le texte de la Form à changé.
Si tu veux changer le texte du titre utilise directement form1.Text="mon nouveau titre";ce qui par ailleurs generera l'evenement Textchanged ;-)


Bob
C# is amazing, enjoy it!
Messages postés
89
Date d'inscription
mardi 19 janvier 2010
Statut
Membre
Dernière intervention
21 juin 2016
2
bonjour Robert,
tu penses bien que c'est la première fois que j'ai essayé :)
voici ce que j'ai fait:
        private void textBox8_TextChanged(object sender, EventArgs e)
        {

            string title = textBox8.Text;
            Form1 fr = new Form1();
            fr.Text = title;
        
        }


je me gourre peut etre de fonction? sachant que ma textBox8 contient mon titre! ce que je voudrais c'est qu'on puisse facilement changer le titre à tout moment en rentrant du texte dans le textbox
Messages postés
89
Date d'inscription
mardi 19 janvier 2010
Statut
Membre
Dernière intervention
21 juin 2016
2
Waw, les meilleure choses sont souvent les plus simples !!
merci Bob, effectivement fallait commencer par là... je sais pas pourquoi j'étais parti sur mon code tout pourri !
en tout cas, merci beaucoup.
bonne soirée.
Messages postés
218
Date d'inscription
mercredi 20 février 2008
Statut
Membre
Dernière intervention
17 mars 2012

Bonsoir,

que diriez vous de placer un petit "try" au cas ou le deuxieme form et fermé?

;)
Bonjour,

Malheureusement dans mon cas ça ne passe pas...

J'essaye de changer le titre de la fenetre en fonction de ce qui est ecrit dans une TextBox mais je n'y arrie pas. Quelqu'un peu m'aider?

Merci!
Messages postés
89
Date d'inscription
mardi 19 janvier 2010
Statut
Membre
Dernière intervention
21 juin 2016
2
Hello damo1,
Tu peux poster ton code?
I'd like the Form to open with "New Project" as a Title and then this Title would change with the entry of the TextBox (without having to confirm it with a Button...).

My problem is that the Title is already changed when the Form appears with the TextBox value: blank...

Here is for the code:


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication4
{
public partial class New_Project : Form
{
public New_Project()
{
InitializeComponent();
}

private void maskedTextBox1_MaskInputRejected(object sender, MaskInputRejectedEventArgs e)
{

}

private void New_Project_Load(object sender, EventArgs e)
{
this.Text = maskedTextBox1.Text;
}

}
}
Messages postés
89
Date d'inscription
mardi 19 janvier 2010
Statut
Membre
Dernière intervention
21 juin 2016
2
refère toi à la réponse plus haut !! il faut que tu utilise l'evenement TextChange pour modifier la valeur du titre à la volée.
private void textBox8_TextChanged(object sender, EventArgs e)
{
    // change le titre de la fenetre de form1
    form1.Text = textBox8.Text;
}
J'ai bien essayé ça mais quand je rentre ce code:

private void maskedTextBox1_TextChanged(object sender, EventArgs e)
{
this.Text = maskedTextBox1.Text;
}

voici l'erreur:

Error 1 'WindowsFormsApplication4.New_Project' does not contain a definition for 'New_Project_Load' and no extension method 'New_Project_Load' accepting a first argument of type 'WindowsFormsApplication4.New_Project' could be found (are you missing a using directive or an assembly reference?)
Messages postés
89
Date d'inscription
mardi 19 janvier 2010
Statut
Membre
Dernière intervention
21 juin 2016
2
comment as-tu rentré ce code??
en fait, il faut double-cliquer sur ta textbox puis y insérer le code this.Text = maskedTextBox1.Text;
Si je comprends bien ça donne le code ci-dessous mais ça ne marche toujours pas, le texte du titre ne change pas!

namespace WindowsFormsApplication4
{
public partial class New_Project : Form
{
public New_Project()
{
InitializeComponent();
}

private void maskedTextBox1_MaskInputRejected(object sender, MaskInputRejectedEventArgs e)
{
this.Text = maskedTextBox1.Text;
}

private void New_Project_Load(object sender, EventArgs e)
{

}

}
}
Je viens de faire l'essai avec une TextBox, le problème vient de la MaskedTextBox.

Merci pour l'aide!