Números somente em TextBox em C#
-
Numbers Only TextBox com a visualização
NumberUpDown
emC#
-
Numbers Only TextBox com a visualização
TextBox
emC#
Este tutorial irá apresentar os métodos para criar uma caixa de texto que aceita apenas números em C#.
Numbers Only TextBox com a visualização NumberUpDown
em C#
A visualização NumberUpDown
é usada para obter a entrada numérica do usuário em C#. Para adicionar uma visualização NumberUpDown
em nosso aplicativo Windows Form, basta selecionar NumberUpDown
da caixa de ferramentas e arrastá-lo para o nosso formulário. A visualização NumberUpDown
não obtém nenhum valor não numérico do usuário. Também nos permite mover um valor para cima ou para baixo com as teclas do cursor. O exemplo de código a seguir nos mostra como podemos criar uma caixa de texto que aceita apenas valores numéricos do usuário com a exibição NumberUpDown
em C#.
using System;
using System.Windows.Forms;
namespace textbox_numbers_only {
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
private void numericUpDown1_KeyPress(object senderObject, KeyPressEventArgs KeyPressEvent) {
if (!char.IsControl(KeyPressEvent.KeyChar) && !char.IsDigit(KeyPressEvent.KeyChar) &&
(KeyPressEvent.KeyChar != '.')) {
KeyPressEvent.Handled = true;
}
if ((KeyPressEvent.KeyChar == '.') && ((senderObject as TextBox).Text.IndexOf('.') > -1)) {
KeyPressEvent.Handled = true;
}
}
private void numericUpDown1_ValueChanged(object sender, EventArgs e) {}
}
}
Resultado:
No código acima, criamos uma caixa de texto que aceita apenas valores numéricos do usuário com a visualização NumberUpDown
em C#. Na função numericUpDown1_KeyPress()
, adicionamos uma verificação para .
valor para permitir que o usuário insira valores de casas decimais. Esta caixa de texto aceita apenas valores numéricos com 2 dígitos.
Numbers Only TextBox com a visualização TextBox
em C#
Se não quisermos usar nenhuma visão proprietária, também podemos modificar a visão TextBox
original para aceitar apenas valores numéricos. Podemos usar a propriedade KeyPressEventArgs.Handled
dentro da função TextBox_KeyPress()
para especificar quais pressionamentos de tecla devem ser controlados por nossa caixa de texto. O exemplo de código a seguir nos mostra como podemos criar uma caixa de texto que aceita apenas valores numéricos com a visualização TextBox
em C#.
using System;
using System.Windows.Forms;
namespace textbox_numbers_only {
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
private void textBox1_TextChanged(object sender, EventArgs e) {}
private void textBox1_KeyPress(object sender, KeyPressEventArgs KeyPressEvent) {
KeyPressEvent.Handled = !char.IsDigit(KeyPressEvent.KeyChar);
}
}
}
Resultado:
No código acima, especificamos que nossa caixa de texto não deve lidar com nenhum valor não numérico com a propriedade KeyPressEvent.Handled
na função textBox1_KeyPress()
.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn