none
Erro ao implementar evento Keydown RRS feed

  • Pergunta

  • Pessoal, tenho um evento para meu form Questoes que controla os saltos do cursor de um textbox para outro.

     private void Form_Questoes_KeyDown(object sender, KeyEventArgs e)
            {
                if (e.KeyCode == Keys.Enter)
                {
                    this.SelectNextControl(this.ActiveControl, !e.Shift, true, true, true);
                }

           }

    o problema eh quando chego na ultima texbox textodaquestao... quando eu aperto enter para fazer um texto de paragrafo, ele salta para o botão interir/alterar imagem....

    como corrigir isso?

    Obrigado :)


    • Editado Jalber Romano sexta-feira, 25 de outubro de 2013 21:34 faltou imagem
    sexta-feira, 25 de outubro de 2013 21:32

Respostas

  • é assim:

    vou tentar explicar existe uma forma de indentificar o elemento que ta com o foco pelo this.ActiveControl

    dentro desse cara da para pegar o name ativo!

    assim: this.ActiveControl.Name

    no código se pode fazer assim:

    private void Form_Questoes_KeyDown(object sender, KeyEventArgs e)
    {
    	if (e.KeyCode == Keys.Enter && this.ActiveControl.Name.Equals("textodaquestao") == false)
    	{
    		this.SelectNextControl(this.ActiveControl, !e.Shift, true, true, true);
    	}
    }

    ali aonde ta textodaquestao tem que ser o nome do textbox ok!

    pronto ele vai fazer paragrafo normalmente mas, para pular dele somente com tab! ou se pode configurar mais alguma tecla!!1


    Fúlvio Cezar Canducci Dias

    quarta-feira, 30 de outubro de 2013 02:58

Todas as Respostas

  • Isso parece ser tabulação. Veja as propriedades TabIndex dos controles e vá "ajeitando" conforme sua necessidade.
    segunda-feira, 28 de outubro de 2013 10:41
  • Como o Pnet disse isto é uma tabulação. Cada Controle tem propriedade index conforme o valor que você coloca no index do controle ele organiza a tabulação. 

    Textbox1.index = 1;

    Textbox2.index = 2;

    Quando você estiver com focus no textbox1 e apertar tab ele vai para o índice seguinte neste caso seria o textbox2

    segunda-feira, 28 de outubro de 2013 11:21
  • é assim:

    vou tentar explicar existe uma forma de indentificar o elemento que ta com o foco pelo this.ActiveControl

    dentro desse cara da para pegar o name ativo!

    assim: this.ActiveControl.Name

    no código se pode fazer assim:

    private void Form_Questoes_KeyDown(object sender, KeyEventArgs e)
    {
    	if (e.KeyCode == Keys.Enter && this.ActiveControl.Name.Equals("textodaquestao") == false)
    	{
    		this.SelectNextControl(this.ActiveControl, !e.Shift, true, true, true);
    	}
    }

    ali aonde ta textodaquestao tem que ser o nome do textbox ok!

    pronto ele vai fazer paragrafo normalmente mas, para pular dele somente com tab! ou se pode configurar mais alguma tecla!!1


    Fúlvio Cezar Canducci Dias

    quarta-feira, 30 de outubro de 2013 02:58
  • Hummm entendi Fulvio...

    Obrigado cara!

    :)

    quinta-feira, 31 de outubro de 2013 09:52
  • Hummm entendi Fulvio...

    Obrigado cara!

    :)

    por nada!

    Fúlvio Cezar Canducci Dias

    quinta-feira, 31 de outubro de 2013 14:38