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 :

KeyPress vraiment pour les caractères non imprimables ?


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 16
    Par défaut KeyPress vraiment pour les caractères non imprimables ?
    Bonjour,
    J'ai ajouté cet événement à mon TextBox mais la touche Retour Arrière (Keys.Back) ne fonctionne pas (plutôt embêtant ). Et impossible de pouvoir gérer la touche avec KeyPress.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private void tiret_KeyPress(object sender, KeyPressEventArgs e)
            {
                TextBox tmp = (TextBox)sender;
     
                if (tmp.Text.Contains('-'))
                {
                    e.Handled = true;
                }
            }
    Ai-je fait une erreur ?

  2. #2
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 49
    Par défaut
    j'aurais plutôt vu les choses comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    private void tiret_KeyPress(object sender, KeyEventArgs e) {
                if (e.KeyCode == Keys.Back) {
                    //...
                }
    }

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 16
    Par défaut
    Nan, pour un évenement KeyPress, e doit être un KeyPressEventHandler. Ton code marcherait avec un KeyDown. Mais je ne sais pas trop comment gérer ces deux événements en même temps:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    tb.KeyPress += new KeyPressEventHandler(tiret_KeyPress);
    tb.KeyDown += new KeyEventHandler(tiret_KeyDown);

  4. #4
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 49
    Par défaut
    ah oui j'utilisais un keydown a l'origine
    tu peut pas faire ton traitement avec?

    je vien de regarder le KeyPressEventArgs (http://msdn.microsoft.com/en-us/libr...s.keychar.aspx)
    et effectivement tu ne peut pas obtenir toutes les touches mais uniquement les caractère imprimable

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 16
    Par défaut
    Bon ben en fait, en pensant à traiter mes caractères avec des IsDigit et compagnie, j'ai fait ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private void tiret_KeyPress(object sender, KeyPressEventArgs e)
    {
        TextBox tmp = (TextBox)sender;
     
        if (!char.IsControl(e.KeyChar) && tmp.Text.Contains('-'))
        {
            e.Handled = true;
        }
    }
    Comme ça, tous les caractères ne sont pas pris en compte si ya déjà un '-' dans la TextBox, et le Retour Arrière fonctionne.

    Ca roule

    Merci kinnou

  6. #6
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 18
    Par défaut
    Salut,

    Moi je n'arrive pas a faire textbox.keypress même en ayant ajouté la référence using System.Windows.Forms; savez-vous pourquoi?

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

Discussions similaires

  1. [PL/SQL] Supprimer les caractères non numériques
    Par Oliveuh dans le forum PL/SQL
    Réponses: 6
    Dernier message: 25/06/2015, 12h13
  2. Remplacer les caractères non imprimable
    Par totofe dans le forum C
    Réponses: 8
    Dernier message: 28/10/2008, 09h29
  3. caractères non imprimables
    Par floflo_2006 dans le forum C
    Réponses: 6
    Dernier message: 11/09/2006, 10h17
  4. [REGEX] Récupérer tous les caractères non US-ASCII
    Par nonhosonno dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 11/08/2006, 10h02
  5. [CR] envoyer un caractère non imprimable
    Par nnj dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 27/07/2004, 08h56

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