IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

mettre le texte d'un bouton en variable


Sujet :

C#

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2010
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 193
    Par défaut mettre le texte d'un bouton en variable
    Bonjour, je voudrais savoir si il été possible de changer le texte d'un bouton pour en faire une variable.

    En bref j'aimerais pouvoir dire que le texte contenu dans la "textbox1" ou dans la ligne 5 de mon fichier texte (je sais pas lequel serais le plus simple) représente le nom de mon bouton.

    Voila merci

  2. #2
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Je ne suis pas sûr de comprendre mais tu devrais pouvoir faire


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonBouton.Name = TextBox1.Text;

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2010
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 193
    Par défaut
    Merci de la réponse, mais justement j'ai déjà fait ça et le texte ne s'affiche pas.

  4. #4
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Quel texte ? Sur le bouton ? Dans ce cas ce n'est pas la propriété name du button mais text


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonButton.Text = MaTextBox.Text;

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2010
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 193
    Par défaut
    Oui je l'ai fait sur le text (j'avais pas vu que tu avait mit "Name") et ça affiche un carré noire et lorsque je rentre quelque chose dans ce carré le nom ne change pas , ça reste noire.

  6. #6
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    C'est une devinette ? Montre le code que tu utilises.

  7. #7
    Membre confirmé
    Inscrit en
    Mai 2010
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 193
    Par défaut
    Ya pas de code justement (c'est ça que je cherche) à part ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    // button2
                // 
                this.button2.BackColor = System.Drawing.Color.Black;
                this.button2.DialogResult = System.Windows.Forms.DialogResult.Cancel;
                this.button2.ForeColor = System.Drawing.Color.Yellow;
                this.button2.Location = new System.Drawing.Point(61, 128);
                this.button2.Name = "button2";
                this.button2.Size = new System.Drawing.Size(58, 31);
                this.button2.TabIndex = 9;
                this.button2.Text = "Jeux2";
                this.button2.UseVisualStyleBackColor = false;
                this.button2.Click += new System.EventHandler(this.button2_Click);
                //

    En gros je veux que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.button2.Text = "Jeux2";
    remplace "Jeux2" par soit :
    - Ce qu'il y a marquer dans la textbox
    - Soit ce qu'il y à marquer avec Streareader

    Mais lorsque je met ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.button2.Text = textbox1.Text;
    Le bouton n'affiche pas ce qu'il y a dans la textbox1, il reste noire. (de base dans la texte box il n'y a riend e marquer c'est au cours de l'utilisation du log que je marque du texte dedans.

  8. #8
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Pour le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.button2.Text = "Jeux2";
    Tu dois l'exécuter rune fois que tu as saisi du texte dans la TextBox. Si tu mets le code dans la méthode InitializeComponent (ce qu'il ne faut jamais faire, cette méthode est gérée par le designer) tu n'auras aucun résultat, logique.

    Met ton code dans l'événement Validating ou Validated, voire TextChanged, de ta TextBox.

  9. #9
    Membre confirmé
    Inscrit en
    Mai 2010
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 193
    Par défaut
    Merci,

    Je suis débutant en C# et je ne vois pas comment faire pour mettre un code dans l'événement Validating ou Validated.

    Pour le moment j'ai un StreamReader qui lit un fichier et l'affiche dans une textbox.

    Le bute : Changer le nom du bouton en fonction des caractères lu par StreamReader.

  10. #10
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Donc tu lis ton fichier et en fonction de ce qui est lu tu décides de changer le texte du bouton et donc tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monBouton.Text = monTexte;
    monTexte étant une chaîne calculée en fonction de ce que tu as lu. Si c'est bien ça, je ne vois vraiment pas le problème. Ou alors c'est la construction du texte qui te bloque ?

    Bref, pourrais-tu être plus précis ? Car je ne sais pas trop quel est le problème finalement

  11. #11
    Membre confirmé
    Inscrit en
    Mai 2010
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 193
    Par défaut
    Bon ouai, je sais pas pourquoi j'avais pas penser à ca.... je me sens stupide

    Juste pour n'afficher que le nom du fichier dans la chaine ex :

    je voudrais avoir ça :

    125 milliards de galaxies
    ou
    125 milliards de galaxies.jpg

    Au lieu de ça :
    C:\Users\*****\Pictures\125 milliards de galaxies.jpg


    PS: Juste aussi pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    musique.Text = fichier.ReadLine();
    J'aimerai que ce soit la ligne 3 je peux faire comment ?

  12. #12
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593

  13. #13
    Membre confirmé
    Inscrit en
    Mai 2010
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 193
    Par défaut
    Merci, c'est résolu juste

    comment faire pour afficher la ligne 3 que StreamReader à lu ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bouton1.Text = fichier.ReadLine();

  14. #14
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    La méthode ReadLine lit ligne à ligne. Donc tu te fais un compteur (variable pour stocker le nombre de lignes lues) et si tu es à la troisième ligne tu affectes le texte.

  15. #15
    Membre confirmé
    Inscrit en
    Mai 2010
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 193
    Par défaut
    Je sais je vais passer pour quelqu'un d'un peu "lourd" je m'en excuse par avance mais je ne vois pas comment faire le compteur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    {
     
                    StreamReader fichier = null;
     
                    try
                    {
                        // on ouvre le fichier en lecture
                        fichier = new StreamReader("essai.txt");
     
                        // on lit tout le fichier et on le met dans le TextBox
                        textBox1.Text = fichier.ReadLine();
                        textBox1.Text = fichier.ReadLine();
     
    string path = fichier.ReadLine(); //<---- Voila mon problème.
     
     
                afficher.Text = Path.GetFileNameWithoutExtension(path);   
                    }
                    catch (Exception ex)
                    {
                        // problème
                        MessageBox.Show("Problème à la lecture du fichier (" +
                        ex.Message + ")", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                    finally
                    {
                        // on ferme le fichier
                        if (fichier != null)
                        {
                            fichier.Dispose();
                        }
                    }//finally
                }//if

  16. #16
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Citation Envoyé par bob456 Voir le message
    Ya pas de code justement (c'est ça que je cherche) à part ça :
    Il y a une partie de code à minima.

    Avec le designer tu peux lier en effet l'évenement TextChanged de la TextBox ce qui générera ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this.textBox1.TextChanged += new System.EventHandler(this.TextBox1TextChanged);

    Ensuite dans l'événement il faut au moins faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        button1.Text = textBox1.Text;

    En gros je veux que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.button2.Text = "Jeux2";
    remplace "Jeux2" par soit :
    1- Ce qu'il y a marquer dans la textbox
    2- Soit ce qu'il y à marquer avec Streareader
    Pour le 1 voir l'exemple que je viens de donner.

    Pour le 2 cela ne change pas grand chose, les conceptions peuvent varier, en gros il est possible d'utiliser ce design dans le code clic sur un bouton
    Grossomodo tu boucles sur ta lecture et à chaque fois tu modifies la proprièté text de ta textbox ce qui déclenchera le code montré plus haut


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    void Button1Click(object sender, EventArgs e)
            {            
                TestReader tr = new TestReader();
                textBox1.Text = tr.Readstream();
            }
    Pour l'écran noir c'est parce que il n'y a rien dans la textbox chez moi cela efface seulement le texte du bouton sans que le contrôle devienne noir.

  17. #17
    Membre confirmé
    Inscrit en
    Mai 2010
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 193
    Par défaut
    merci de la réponse mais "StormimOn" m'avais déjà donné ce que je voulais, il me reste juste à savoir faire
    La méthode ReadLine lit ligne à ligne. Donc tu te fais un compteur (variable pour stocker le nombre de lignes lues) et si tu es à la troisième ligne tu affectes le texte.
    Aujourd'hui 17h48
    En fonction de ce que j'avais donné juste avant :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    {
     
                    StreamReader fichier = null;
     
                    try
                    {
                        // on ouvre le fichier en lecture
                        fichier = new StreamReader("essai.txt");
     
                        // on lit tout le fichier et on le met dans le TextBox
                        textBox1.Text = fichier.ReadLine();
                        textBox1.Text = fichier.ReadLine();
     
    string path = fichier.ReadLine(); //<---- Voila mon problème.
     
     
                afficher.Text = Path.GetFileNameWithoutExtension(path);   
                    }
                    catch (Exception ex)
                    {
                        // problème
                        MessageBox.Show("Problème à la lecture du fichier (" +
                        ex.Message + ")", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                    finally
                    {
                        // on ferme le fichier
                        if (fichier != null)
                        {
                            fichier.Dispose();
                        }
                    }//finally
                }//if
    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/05/2010, 15h53
  2. [PHP 5.0] Encadrer une variable par du texte (mettre du texte avant et après)
    Par pasbonte dans le forum Langage
    Réponses: 2
    Dernier message: 05/09/2009, 19h23
  3. Mettre la valeur d'un bouton d'option dans une variable
    Par beegees dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 01/03/2006, 10h00
  4. [JButton] Afficher texte en survolant bouton.
    Par Galima dans le forum Composants
    Réponses: 2
    Dernier message: 04/06/2004, 22h21
  5. Réponses: 9
    Dernier message: 26/04/2004, 21h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo