• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

N3RO

Textbox apenas com números e vírgula

2 mensagens neste tópico

Boas,

Estou aqui a fazer uma cena... numa TextBox queria que um utilizador inseri-se apenas caractéres numéricos e uma vírgula.

Tenho assim:

private void textBox_CL_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Char.IsSymbol(e.KeyChar) == true || Char.IsLetter(e.KeyChar) == true || Char.IsPunctuation(e.KeyChar) == true || Char.IsWhiteSpace(e.KeyChar) == true)           
            e.Handled = true;
        }

Desta maneira, nega a inserção de todos os caractéres além de números, mas como abro excepção para uma única "virgula"?

Cumps,

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

private void textBox_CL_KeyPress(object sender, KeyPressEventArgs e) {
   if(e.KeyChar == ',') {
      Char[] cs = Array.FindAll<Char>(textBox_CL.text.toCharArray(), new Predicate(delegate (char c) { return c.Equals(','); }));

      // Se já tem uma virgula...
      if (cs.length > 0) 
          e.Handled = true;
   } else {
      // Se não é um numero...
      if (!Char.IsDigit(e.KeyChar))  
            e.Handled = true;
   }
}

Podes sempre por o delegate fora, para não o estar sempre a criar...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora