Modifier dynamiquement le nom d'une form

Résolu
Karibot Messages postés 89 Date d'inscription mardi 19 janvier 2010 Statut Membre Dernière intervention 21 juin 2016 - 27 nov. 2010 à 11:01
 damo1 - 7 oct. 2012 à 21:36
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.
A voir également:

13 réponses

cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
27 nov. 2010 à 22:04
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!
3
cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
27 nov. 2010 à 21:24
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!
0
Karibot Messages postés 89 Date d'inscription mardi 19 janvier 2010 Statut Membre Dernière intervention 21 juin 2016 2
27 nov. 2010 à 21:54
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
0
Karibot Messages postés 89 Date d'inscription mardi 19 janvier 2010 Statut Membre Dernière intervention 21 juin 2016 2
27 nov. 2010 à 22:20
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
l0r3nz1 Messages postés 218 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 17 mars 2012
6 déc. 2010 à 17:30
Bonsoir,

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

;)
0
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!
0
Karibot Messages postés 89 Date d'inscription mardi 19 janvier 2010 Statut Membre Dernière intervention 21 juin 2016 2
7 oct. 2012 à 20:10
Hello damo1,
Tu peux poster ton code?
0
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;
}

}
}
0
Karibot Messages postés 89 Date d'inscription mardi 19 janvier 2010 Statut Membre Dernière intervention 21 juin 2016 2
7 oct. 2012 à 20:35
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;
}
0
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?)
0
Karibot Messages postés 89 Date d'inscription mardi 19 janvier 2010 Statut Membre Dernière intervention 21 juin 2016 2
7 oct. 2012 à 20:48
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;
0
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)
{

}

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

Merci pour l'aide!
0
Rejoignez-nous