none
Texto digitado RRS feed

  • Pergunta

  • Pessoal gostaria de permitir que o usuário só digite as letras da palavra certa no TextBox. Por exemplo, a palavra que ele deve digitar é: chocolate, se ele digitar "a" na primeira letra não aparece nada, apenas se digitar "c".
    sábado, 15 de abril de 2017 17:15

Respostas

  • Olá,

    Acredito que esse código lhe atenderá:

            private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
            {
                String palavraChave = "Chocolate";
                char caracterAtual;
                int posAtual = 0;
                bool blnValido = false;
    
                if (!Char.IsControl(e.KeyChar)) 
                {
                    if (this.textBox1.Text.Length < palavraChave.Length)
                    {
                        caracterAtual = e.KeyChar;
                        posAtual = this.textBox1.Text.Length;
                        blnValido = palavraChave[posAtual].Equals(caracterAtual);
                    }
    
                    if (!blnValido)
                        e.Handled = true;
                }
            }
    Espero ter ajudado!


    Hudson Carvalho

    • Marcado como Resposta Luisa Salles domingo, 16 de abril de 2017 01:52
    sábado, 15 de abril de 2017 22:32

Todas as Respostas

  • Olá,
    utilize o Event OnKeyPress da textbox.
    Dentro do keypress, você coloca sua lógica.

    Ex:

    private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
    {
    if(textBox1.Text == "C" ||textBox1.Text == "Ch"||textBox1.Text == "Cho" )//etc.
     label.Text = "Chocolate";//exibe a palavra
    }

    Ok?
    Att,


    Se a resposta for relevante,click em "útil".Se a resposta resolveu seu problema, click em "Marcar como Resposta".
    Rodrigo Suleiman [MCP,MCTS,MCPD,MCSA,MCSD]

    sábado, 15 de abril de 2017 20:18
  • Olá,

    Acredito que esse código lhe atenderá:

            private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
            {
                String palavraChave = "Chocolate";
                char caracterAtual;
                int posAtual = 0;
                bool blnValido = false;
    
                if (!Char.IsControl(e.KeyChar)) 
                {
                    if (this.textBox1.Text.Length < palavraChave.Length)
                    {
                        caracterAtual = e.KeyChar;
                        posAtual = this.textBox1.Text.Length;
                        blnValido = palavraChave[posAtual].Equals(caracterAtual);
                    }
    
                    if (!blnValido)
                        e.Handled = true;
                }
            }
    Espero ter ajudado!


    Hudson Carvalho

    • Marcado como Resposta Luisa Salles domingo, 16 de abril de 2017 01:52
    sábado, 15 de abril de 2017 22:32