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#] Textbox et accent


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    -
    Inscrit en
    Août 2003
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : -

    Informations forums :
    Inscription : Août 2003
    Messages : 80
    Par défaut [C#] Textbox et accent
    Bonjour,


    J'ai un textbox et j'aimerais interdire la saisie de caractères accentue.


    Comment faire ?


    Merci


    Alex

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Da,s l'event Key_Press (ou un autre du genre), tu interceptes la touche appuyée.

    Si cette touche correspond à un caractère accentué, tu ne fais rien.
    Sinon, tu ajoutes cette touche à ta textBox


    A+

  3. #3
    Membre confirmé
    Homme Profil pro
    -
    Inscrit en
    Août 2003
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : -

    Informations forums :
    Inscription : Août 2003
    Messages : 80
    Par défaut
    Merci, ca je sais faire

    je veux juste savoir si il existe une fonction pour teste si c'est un caractere accentue


    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
    35
    36
    37
    38
    39
    40
     
    			char c = e.KeyChar;
    			if(!Char.IsLetterOrDigit(c) && !Char.IsControl(c))
    			{
    				if (c.ToString() == "é")
    				{
    					e.Handled = true;
    					return;
    				}
    				else if (c.ToString() == "ê")
    				{
    					e.Handled = true;
    					return;
    				}
    				else if (c.ToString() == "ë")
    				{
    					e.Handled = true;
    					return;
    				}
    				else if (c.ToString() == "à")
    				{
    					e.Handled = true;
    					return;
    				}
    				else if (c.ToString() == "â")
    				{
    					e.Handled = true;
    					return;
    				}
    				else if (c.ToString() == "ä")
    				{
    					e.Handled = true;
    					return;
    				}
    				else if (c.ToString() != "_")
    				{
    					e.Handled = true;
    					return;
    				}
    			}
    Je fait comme ca mais ca ne fonctionne pas !

  4. #4
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if(!Char.IsLetterOrDigit(c) && !Char.IsControl(c))
    Pourquoi un test négatif sur Char.IsLetterOrDigit ?

    Car là, tu lui dit:

    Si le caractère n'est pas une lettre ou un digit

  5. #5
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Salut
    Essayes ceci
    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
     
    using System.Collections;
    using System.Windows.Forms;
    //...
    private ArrayList bads;
    //...
    private void Form1_Load(Object sender, EventArgs e)
     {
       this.bads = new ArrayList();
       this.bads.AddRange(new char() {"à","é","è","ë","ë","ì","î","ï","ò","ô","ö","ù","û","ü","`","^","¨","_"});
       //...
     }
    //...
    private void TextBox1_KeyPress(Object sender, KeyPressEventArgs e)
     {
       char c = e.KeyChar;
       if(Char.IsLetterOrDigit(c) && !Char.IsControl(c)) 
        {
          if(this.bads.Contains(c))
           {
             e.Handled = true;
           }
        }
     }

  6. #6
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Citation Envoyé par neguib
    Salut
    Essayes ceci
    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
     
    using System.Collections;
    using System.Windows.Forms;
    //...
    private ArrayList bads;
    //...
    private void Form1_Load(Object sender, EventArgs e)
     {
       this.bads = new ArrayList();
       this.bads.AddRange(new char() {"à","é","è","ë","ë","ì","î","ï","ò","ô","ö","ù","û","ü","`","^","¨","_"});
       //...
     }
    //...
    private void TextBox1_KeyPress(Object sender, KeyPressEventArgs e)
     {
       char c = e.KeyChar;
       if(Char.IsLetterOrDigit(c) && !Char.IsControl(c)) 
        {
          if(this.bads.Contains(c))
           {
             e.Handled = true;
           }
        }
     }
    Je pensais exactement à un truc du même genre

    Toujours est-il que tu as fait le bon test

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if(Char.IsLetterOrDigit(c) && !Char.IsControl(c))

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

Discussions similaires

  1. Affichage d'accents sur textbox
    Par obito dans le forum Windows Forms
    Réponses: 2
    Dernier message: 09/04/2009, 10h28
  2. Réponses: 3
    Dernier message: 19/02/2007, 23h35
  3. que deviennent mes accents ?!
    Par petitdns dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 28/11/2002, 09h32
  4. [Accents - XML] Problème de codage non supporté !!
    Par Smortex dans le forum Composants VCL
    Réponses: 6
    Dernier message: 24/11/2002, 11h00
  5. [VB6] [Interface] ScrolBar & TextBox
    Par DarkVader dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 25/10/2002, 18h40

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