Partage
  • Partager sur Facebook
  • Partager sur Twitter

Faire un séparateur de millier dans un textbox.

    8 juillet 2019 à 18:59:25

    Salutation j'aimerai réaliser un séparateur de milliers  dans un textbox lors du textChange.

    Par exemple si je tape 1000000 je veux avoir 1 000 000.

            private void textBox1_TextChanged(object sender, EventArgs e)
            {
                try
                {
                    string value = textBox1.Text.Replace(",", "");
                    ulong ul;
                    if (ulong.TryParse(value, out ul))
                    {
                        textBox1.TextChanged -= textBox1_TextChanged;
                        textBox1.Text = string.Format("{0:#,#}", ul);
                        textBox1.SelectionStart = textBox1.Text.Length;
                        textBox1.TextChanged += textBox1_TextChanged;
                    }
                }
                catch (Exception ex)
                {
                  
                }
    
    
            }

    Et lorsque j’exécute j'ai ça 1 0000000 au lieu de 1 000 000.

     Merci d'avance!

    • Partager sur Facebook
    • Partager sur Twitter
      8 juillet 2019 à 21:54:22

      Regarde du côté du composant MaskedTextBox
      • Partager sur Facebook
      • Partager sur Twitter
        9 juillet 2019 à 13:18:28


        Sehnsucht a écrit:

        https://stackoverflow.com/questions/15473216/how-to-format-a-windows-forms-textbox-with-thousand-separator-and-decimal-separt

        Merci Sehnsucht , j'avais déjà vu ce forum lors de mes recherches mais ça m'avais pas aidé.

        je voudrais que ça s'applique lorsque le texte change au niveau du textbox.



        • Partager sur Facebook
        • Partager sur Twitter
          9 juillet 2019 à 13:29:42

          Mauvaise idée, tu veux agir lors du changement dans le texte ; il va donc te falloir agir lors d'un évènement qui survient lors du changement du texte (exemple l'evènement Text_Changed comme dans ton code).

          Or l'action que tu veux faire c'est justement changer le texte, ce qui va relancer l'évènement ; et ce potentiellement de manière infinie (même s'il y a des moyens de s'en sortir quand même).

          Et puis, niveau ergonomie c'est pas top, en tant qu'utilisateur du truc, avoir ce qu'on est en train de taper changer pendant qu'on le tape peut être facilement perturbant/dérangeant (curseur qui change de position et foire ce qu'on était en train de taper, du coup on veut rectifier mais ça change encore pendant cette modification, si on va trop vite et qu'on fait pas gaffe, ça sera pas la bonne valeur ce qui peut être catastrophique [exemple un formulaire de virement bancaire, si on se foire au niveau du montant], etc.)

          • Partager sur Facebook
          • Partager sur Twitter
          Censément, quelqu'un de sensé est censé s'exprimer sensément.
            9 juillet 2019 à 13:52:52

            Merci pour les précisions c'est assez claires. Au niveau de mon textBox lorsque j'entre une valeur avec beaucoup de 0 par exemple 1000000

            là les 0 sont trop rapprochés donc je sais plus si j’écris cent milles ou un million. c'est pour ça que je veux séparer les milliers, pour que ça soit clair pour celui qui tape.

            • Partager sur Facebook
            • Partager sur Twitter
              9 juillet 2019 à 14:00:49

              Si c'est spécifiquement pour de la saisie de nombre, autant utiliser un NumericUpDown à la place, qui est spécialisé pour ça
              • Partager sur Facebook
              • Partager sur Twitter
              Censément, quelqu'un de sensé est censé s'exprimer sensément.
                20 août 2019 à 10:50:09

                En alignant à droite le contenu de la textBox, il n'y aura plus vraiment de problème d'ergonomie, je pense.

                • Partager sur Facebook
                • Partager sur Twitter
                Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.

                Faire un séparateur de millier dans un textbox.

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown