Duas forma simples de deixar o TextBox apenas aceitando valores inteiros. Segue o código abaixo:
public void validarCaracInt(KeyEventArgs e)
{
if (!Char.IsNumber((char)e.KeyValue) | e.Shift)
{
if (e.KeyCode == Keys.Back || e.KeyCode == Keys.Delete || e.KeyCode == Keys.Left || e.KeyCode == Keys.Right)
e.SuppressKeyPress = false;
else
e.SuppressKeyPress = true;
}
else if (e.KeyCode == Keys.OemPeriod || e.KeyCode == Keys.Oemcomma || e.KeyCode == Keys.OemMinus) //(.), (,) (-) são considerados numéricos
{
e.SuppressKeyPress = true;
}
}
public void validarCaracIntRegex(KeyEventArgs e)
{
if (Regex.IsMatch(((char)e.KeyValue).ToString(), "^[0-9]$"))
e.SuppressKeyPress = false;
else
e.SuppressKeyPress = true;
if (e.Shift)
e.SuppressKeyPress = true;
if (e.KeyCode == Keys.Back || e.KeyCode == Keys.Delete || e.KeyCode == Keys.Right || e.KeyCode == Keys.Left)
e.SuppressKeyPress = false;
}
E no evento Key Press do TextBox:
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
//validarCaracInt(e); // <--- Utilize este
validarCaracIntRegex(e); // <--- ou este. Fica a sua escolha
}
9/22/2007
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário