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 :

Problème avec KeyPress pour un textbox


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 196
    Par défaut Problème avec KeyPress pour un textbox
    Bonjour,

    Je programme en C# une application, et je souhaite par l'intermédiaire de l'évènement KeyPress ajouter en majuscule dans un textbox les lettres sur lesquelles j'ai appuyé.

    Cependant, lorsque j'appui sur une touche, ça m'insère à la fois le caractère en majuscule mais aussi en minuscule. Je ne sais pas d'ou vient le problème.
    exemple, si j'appui sur m, il m'affiche mM.
    J'ai aussi essayé le mode pas à pas, et le problème ne vient pas de la récupération de la lettre car ma variable Nom.text (le text du textbox) ne contient que la lettre en majuscule jusqu'à la fin de la fonction Nom_KeyPress.

    Voici une partie du code :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
            private void Nom_KeyPress(object sender, KeyPressEventArgs e)
            {
                int touche = Convert.ToInt16(e.KeyChar);//Récupère le code ASCII de la touche enfoncée
                //Vérifie que la touche enfoncée est un chiffre, une lettre majuscule ou une lettre miniscule
                if ((touche >= 48 && touche <= 57) || (touche >= 65 && touche <= 90) || (touche >= 97 && touche <= 122))
                {
                    this.nom = Nom.Text + e.KeyChar.ToString().ToUpper();
                    Nom.Text = this.nom;
                    ActiveDirectory(0, 1);//Une fonction pour récupérer le prénom de la personne
                }
            }
    Merci pour votre aide

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Il faut marquer l'évènement comme géré, sinon ça fait le traitement "normal" après l'exécution de l'évènement. Rajoute juste ça à la fin de la méthode :


  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 196
    Par défaut
    merci, ça fonctionne parfaitement. J'avais déjà vu ça sur un forum mais je n'avais pas compris à quoi ça servait.

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

Discussions similaires

  1. Petit problème avec GCC pour l'Unicode...
    Par Nico*3-3 dans le forum Autres éditeurs
    Réponses: 6
    Dernier message: 29/01/2006, 17h12
  2. Problèmes avec keypressed
    Par Baptiste Wicht dans le forum Composants
    Réponses: 9
    Dernier message: 28/11/2005, 20h09
  3. problème avec strtok pour récupérer les vides
    Par manikou dans le forum MFC
    Réponses: 4
    Dernier message: 02/06/2005, 20h08
  4. Réponses: 5
    Dernier message: 27/08/2003, 11h45

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