Limitar a quantidade de caracteres ou números que um usuário pode digitar em um TextBox
é uma prática comum em aplicações Windows Forms. Isso ajuda a garantir que os dados inseridos atendam a critérios específicos, como tamanho máximo ou formato. Neste post, vamos explorar como limitar caracteres e números em TextBox no C#.
Exemplo de código para limitar caracteres
using System;
using System.Windows.Forms;
namespace LimitarCaracteres
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
textBoxInput.MaxLength = 10; // Limita o número máximo de caracteres a 10
}
}
}
Limitar apenas números
Se você deseja que o TextBox
aceite apenas números, você pode manipular o evento KeyPress
para filtrar as entradas. Veja como fazer isso:
Exemplo de código para aceitar apenas números
private void textBoxInput_KeyPress(object sender, KeyPressEventArgs e)
{
// Verifica se a tecla pressionada não é um número e não é a tecla Backspace
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
{
e.Handled = true; // Se não for um número, ignora a entrada
}
}
Combinando limitação de caracteres e aceitar apenas números
Você pode combinar as duas abordagens para limitar tanto o número de caracteres quanto garantir que apenas números sejam inseridos. O código abaixo demonstra como fazer isso:
Exemplo de código combinado
using System;
using System.Windows.Forms;
namespace LimitarCaracteresENumeros
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
textBoxInput.MaxLength = 5; // Limita o número máximo de caracteres a 5
}
private void textBoxInput_KeyPress(object sender, KeyPressEventArgs e)
{
// Verifica se a tecla pressionada não é um número ou não é Backspace
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
{
e.Handled = true; // Ignora a entrada se não for um número
}
}
}
}
Outro exemplo prático
Como fazer esses bloqueios com letras, números e caracteres especiais e deixar a sua aplicação mais robusta. Veja:
/* Os códigos abaixo devem ser inseridos no evento "onChange" do componente TextBox *\
//impede a digitação de números
if (!char.IsLetter(e.KeyChar) && !(e.KeyChar == (char)Keys.Back) && !(e.KeyChar == (char)Keys.Space))e.Handled = true;
//impede a digitação de letras e caracteres especiais
if (!char.IsNumber(e.KeyChar) && !Char.IsControl(e.KeyChar) && !(e.KeyChar == (char)Keys.Space)) e.Handled = true;
//bloqueia a digitação de caracteres não permitidos
string caracteresPermitidos = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
if (!(caracteresPermitidos.Contains(e.KeyChar.ToString().ToUpper()))) {
e.Handled = true;
}
Limitar caracteres e números em um TextBox
é uma prática importante para melhorar a experiência do usuário e garantir a integridade dos dados.
Usando a propriedade MaxLength
e manipulando o evento KeyPress
, você pode facilmente implementar essas limitações em sua aplicação Windows Forms.
CONHEÇA O CURSO COMPLETO DE C# COM + DE 100 AULAS PRÁTICAS. Tenha acesso vitalício e certificado de conclusão.
CLIQUE NA IMAGEM ABAIXO E CONFIRA MAIS DETALHES:
Dúvidas ou sugestões sobre como limitar caracteres e números em TextBox no C#? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits
Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?
Sobre o Autor
0 Comentários