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

Karibot 89 Messages postés mardi 19 janvier 2010Date d'inscription 21 juin 2016 Dernière intervention - 27 nov. 2010 à 11:01 - Dernière réponse :  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.
Afficher la suite 

13 réponses

Répondre au sujet
cs_Robert33 835 Messages postés samedi 15 novembre 2008Date d'inscription 14 janvier 2017 Dernière intervention - 27 nov. 2010 à 22:04
+2
Utile
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!
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_Robert33
cs_Robert33 835 Messages postés samedi 15 novembre 2008Date d'inscription 14 janvier 2017 Dernière intervention - 27 nov. 2010 à 21:24
0
Utile
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!
Commenter la réponse de cs_Robert33
Karibot 89 Messages postés mardi 19 janvier 2010Date d'inscription 21 juin 2016 Dernière intervention - 27 nov. 2010 à 21:54
0
Utile
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
Commenter la réponse de Karibot
Karibot 89 Messages postés mardi 19 janvier 2010Date d'inscription 21 juin 2016 Dernière intervention - 27 nov. 2010 à 22:20
0
Utile
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.
Commenter la réponse de Karibot
l0r3nz1 221 Messages postés mercredi 20 février 2008Date d'inscription 17 mars 2012 Dernière intervention - 6 déc. 2010 à 17:30
0
Utile
Bonsoir,

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

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

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

}

}
}
Commenter la réponse de damo1
0
Utile
Je viens de faire l'essai avec une TextBox, le problème vient de la MaskedTextBox.

Merci pour l'aide!
Commenter la réponse de damo1

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.