C#

Como formatar valores digitados em TextBox com C#

A formatação de valores digitados em um TextBox é uma tarefa comum em aplicações C#. Essa funcionalidade é importante para garantir que os dados inseridos pelo usuário sejam válidos e estejam no formato desejado, como números, datas ou moeda. Neste post, vamos aprender como formatar valores digitados em TextBox com C#.

Passo a passo para formatar valores em um TextBox

  1. Criar um novo projeto

    • Abra o Visual Studio e crie um novo projeto do tipo Windows Forms App.

  2. Adicionar um TextBox e um Button

    • Arraste um TextBox e um Button para o seu formulário a partir da Toolbox. O Button será usado para aplicar a formatação.

  3. Configurar o TextBox

    • Dê um nome ao TextBox, como textBoxInput, e ao Button, como buttonFormat.

  4. Adicionar o código para formatar o valor

    • Agora, você pode adicionar o código que irá formatar o valor digitado no TextBox. O exemplo a seguir demonstra como fazer isso.

Exemplo de código

Aqui está um exemplo simples de como formatar valores em um TextBox:

using System;
using System.Globalization;
using System.Windows.Forms;

namespace FormatandoTextBox
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void buttonFormat_Click(object sender, EventArgs e)
        {
            // Tenta converter o texto digitado para um número decimal
            if (decimal.TryParse(textBoxInput.Text, NumberStyles.Any, CultureInfo.InvariantCulture, out decimal number))
            {
                // Formata o número como moeda
                string formattedValue = number.ToString("C", CultureInfo.CurrentCulture);
                textBoxInput.Text = formattedValue;
                textBoxInput.SelectionStart = textBoxInput.Text.Length; // Posiciona o cursor no final
            }
            else
            {
                MessageBox.Show("Por favor, digite um valor numérico válido.");
            }
        }
    }
}

Explicação do código

  • buttonFormat_Click: Este método é o manipulador de eventos para o botão que você adicionou ao formulário. Quando o botão é clicado, ele tenta converter o texto digitado em um número decimal;

  • decimal.TryParse: Este método tenta converter o texto do TextBox em um valor decimal. Ele retorna true se a conversão for bem-sucedida e false caso contrário;

  • number.ToString(“C”, CultureInfo.CurrentCulture): Este método formata o número como moeda, utilizando a cultura atual do sistema, que determina o símbolo da moeda e o formato;

  • textBoxInput.SelectionStart: Esta linha é usada para posicionar o cursor no final do texto formatado, melhorando a experiência do usuário;

  • Tratamento de Exceções: Caso a conversão falhe, uma mensagem é exibida informando que o valor digitado não é válido.

Outro exemplo prático

Os códigos abaixo mostram como fazer isso (incluí-los dentro do evento KeyPress do textBox):

//troca o '.' por ','.
if (e.KeyChar == '.' || e.KeyChar == ',') {
   e.KeyChar = ',';
      
//Verifica se já existe alguma vírgula digitada no TextBox
if (textBox1.Text.Contains(","))  
    e.Handled = true;  //Caso exista, aborte
}
//Permite apenas a digitação de números e da tecla backspace   
else if (!char.IsNumber(e.KeyChar) && !(e.KeyChar == (char)Keys.Back))  
{
  e.Handled = true;
}

No caso da vírgula não ser digitada ou ser digitada seguida de um ou mais números, será preciso forçar a formatação para duas casas decimais no final do valor digitado:

textBox1.Text = Decimal.Parse(textBox1.Text).ToString("N2");

A linha acima precisa ser digitada dentro do evento Leave do textBox. Desta forma a formatação será forçada logo após o textBox perder o foco de entrada.

Se for digitado, por exemplo, 1,689, o valor será arredondado para 1.70

A formatação de valores em um TextBox pode melhorar a usabilidade da sua aplicação e garantir que os dados sejam inseridos no formato correto. Você pode adaptar este exemplo para formatar datas, números inteiros ou outros formatos conforme necessário.

Aprenda do zero ou aprimore seus conhecimentos em C#. Domine os conceitos de Orientação a Objetos e crie sistemas complexos integrados com banco de dados.

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:

Link do curso: https://go.hotmart.com/L70031146H


Dúvidas ou sugestões sobre como formatar valores digitados em TextBox com C#? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
 https://youtube.com/criandobits

Bene Silva Júnior

Bacharel em Sistemas de Informação pelo Instituto Paulista de Pesquisa e Ensino IPEP. Apaixonado por tecnologias e games do tempo da vovó!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *