Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

N3RO

Textbox apenas com números e vírgula

Mensagens Recomendadas

N3RO    0
N3RO

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,

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Betovsky    2
Betovsky

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...

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


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade