Como limitar caracteres e números em TextBox no C#
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.
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
Saiba que isso pode estar te fazendo perder dinheiro — seja com manutenção cara ou oportunidades que você está deixando passar.
Com o Super Técnico 2.0, você aprende na prática como diagnosticar defeitos, montar computadores do zero e fazer upgrades que realmente aumentam o desempenho, mesmo que você esteja começando do absoluto zero.
Você pode usar esse conhecimento para:
✔ Resolver seus próprios problemas sem depender de ninguém ✔ Ganhar dinheiro com manutenção e suporte técnico ✔ Ou até entrar de vez no mercado de TI
Tudo com aulas diretas ao ponto, sem enrolação e focadas no que realmente funciona no dia a dia.
👉 CLIQUE AQUI AGORA e veja todos os detalhes antes que essa oportunidade passe:
Sobre o Autor


0 Comentários