none
Forçar iniciar com letra maiuscula RRS feed

  • Pergunta

  • Olá pessoal , estou com uma duvida....

    Como faço para forçar meu textbox iniciar ,todo tipo de texto que digitar, com letra maiuscula?

    expl:

    digito: leonardo (em minha textbox), eu queria que minha textbox forçasse iniciar com letra maiuscula: Leonardo

    Obrigado!! 

    sábado, 23 de novembro de 2013 23:31

Respostas

  • private void textBox1_KeyDown(object sender, KeyEventArgs e)
            {
                if (textBox1.Text.Length > 0)
                {
                    textBox1.Text = textBox1.Text.Substring(0, 1).ToUpper() + textBox1.Text.Substring(1);
                    textBox1.SelectionStart = textBox1.Text.Length + 1;
                }
            }
    Assim!!! no evento KeyDown, sempre a primeira vai ser maiúscula ... Lembre-se só quando digitar, então, talvez alguns ajustes serão preciso mais digitando já funciona!

    Fulvio Cezar Canducci Dias

    • Sugerido como Resposta Thiago Patrocinio domingo, 24 de novembro de 2013 00:04
    • Marcado como Resposta Giovani Cr segunda-feira, 25 de novembro de 2013 10:40
    sábado, 23 de novembro de 2013 23:54

Todas as Respostas

  • private void textBox1_KeyDown(object sender, KeyEventArgs e)
            {
                if (textBox1.Text.Length > 0)
                {
                    textBox1.Text = textBox1.Text.Substring(0, 1).ToUpper() + textBox1.Text.Substring(1);
                    textBox1.SelectionStart = textBox1.Text.Length + 1;
                }
            }
    Assim!!! no evento KeyDown, sempre a primeira vai ser maiúscula ... Lembre-se só quando digitar, então, talvez alguns ajustes serão preciso mais digitando já funciona!

    Fulvio Cezar Canducci Dias

    • Sugerido como Resposta Thiago Patrocinio domingo, 24 de novembro de 2013 00:04
    • Marcado como Resposta Giovani Cr segunda-feira, 25 de novembro de 2013 10:40
    sábado, 23 de novembro de 2013 23:54
  • Bom, consegui achar uma solução em um outro tópico parecido com o seu, só que tive que fazer alguns ajustes.

    Você vai ter que criar uma função no início do formulário que servirá para converter a primeira letra de cada palavra em maíuscula

    public string Converter(string Input)

    {

    System.Globalization.CultureInfo cultureInfo =           

    System.Threading.Thread.CurrentThread.CurrentCulture;           

    System.Globalization.TextInfo textInfo = cultureInfo.TextInfo;           

    return textInfo.ToTitleCase(Input.ToLower());       

    }


    Depois disso, você vai adicionar o evento TextChanged ao TextBox clicando 2 vezes nele, e colocar os seguintes códigos dentro:

    private void txtCapital_TextChanged(object sender, EventArgs e)
            {
                txtCapital.Text = Converter(txtCapital.Text).ToString();
                txtCapital.SelectionStart = txtCapital.Text.Length;
            }        

    Se você não adicionar a última linha, ao digitar as palavras, elas irão sair ao contrário. Exemplo:
    Matheus >>>>>>>>>>>>> Suehtam
    Até mais.

    domingo, 24 de novembro de 2013 18:26