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

Windows Forms Discussion :

[C#] mettre en majuscule le texte d'un controle textbox


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 163
    Points : 98
    Points
    98
    Par défaut [C#] mettre en majuscule le texte d'un controle textbox
    Bonjour à tous,

    Voilà j'ai écrit le code suivant pour mettre en majuscule le contenu d'un textbox. En fait je voudrais au fur et à mesure de la saisie que le texte apparaisse directement en majuscule.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    private void txtEvoRef_TextChanged(object sender, System.EventArgs e)
    {
            this.txtEvoRef.Text = this.txtEvoRef.Text.ToUpper();   
    }
    seulement voilà, le texte apparait bien en majuscule au fur et à mesure mais à l'envers. Si je tape AI j'obtiens dans le textbox IA avec le focus devant le I.

    je ne comprends pas pourquoi...

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2004
    Messages : 68
    Points : 63
    Points
    63
    Par défaut
    Bonjour

    A chaque fois que tu modifie le texte de ton textBox par le code, il place le curseur au début du contrôle. Donc tu tapes a, il écrit A et met le curseur devant. Le i s'écrit donc devant le A, et ainsi de suite.

    Voila pour l'"explication"

    Il faut donc forcer le curseur a se mettre a la fin, par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    private void textBox_TextChanged(object sender, System.EventArgs e)
    {
        this.textBox.Text = this.textBox10.Text.ToUpper();
        this.textBox.SelectionStart = this.textBox.Text.Length;
    }
    J'espere avoir pu t'aider

  3. #3
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 163
    Points : 98
    Points
    98
    Par défaut
    oui c'est bon ...

    Merci.

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 262
    Points : 230
    Points
    230
    Par défaut
    Cette méthode ne marche pas quand on veut écrire au milieu de la chaine de caractère dans la textbox.

    La propriété characterChasing de la textbox doit être mise a Upper.
    Tox

  5. #5
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 874
    Points : 3 721
    Points
    3 721
    Par défaut
    Citation Envoyé par romain69005 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            
    private void textBox_TextChanged(object sender, System.EventArgs e)
    {
        this.textBox.Text = this.textBox10.Text.ToUpper();
        this.textBox.SelectionStart = this.textBox.Text.Length;
    }
    J'espere avoir pu t'aider
    Le "10" est en trop je crois, non ? En tous cas merci à vous deux pour la question et la réponse, j'ai appris quelque chose ce soir !

    Citation Envoyé par toxycyty Voir le message
    Cette méthode ne marche pas quand on veut écrire au milieu de la chaine de caractère dans la textbox.

    La propriété characterChasing de la textbox doit être mise a Upper.
    Merci, j'ai encore appris quelque chose, en cherchant à comprendre ta réponse j'ai cherché "characterChasing" mais en vain car en fait il semblerait qu'il y ait un "h" en trop... (Cf. http://msdn.microsoft.com/fr-fr/libr...tercasing.aspx)

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

Discussions similaires

  1. Mettre en forme du texte
    Par klerdesign dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 24/10/2006, 16h29
  2. [CR7] mettre une image ou texte de fond
    Par yoyothebest dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 11/08/2006, 14h40
  3. [RegEx] Mettre en majuscules les premières lettres accentuées
    Par Bibicmoi dans le forum Langage
    Réponses: 8
    Dernier message: 15/05/2006, 19h02
  4. Couleur mettre en gras le text d un JTextArea
    Par jean_bobi dans le forum Composants
    Réponses: 4
    Dernier message: 01/11/2005, 12h28
  5. BCB6 mettre en surbrillance le texte
    Par winow dans le forum C++Builder
    Réponses: 8
    Dernier message: 08/10/2005, 22h13

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