Usuário com melhor resposta
Erro ao implementar evento Keydown

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 JR-Master sexta-feira, 25 de outubro de 2013 21:34 faltou imagem
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- Sugerido como Resposta Fulvio Cezar Canducci Dias quarta-feira, 30 de outubro de 2013 02:58
- Marcado como Resposta JR-Master quinta-feira, 31 de outubro de 2013 09:52
Todas as Respostas
-
-
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
-
é 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- Sugerido como Resposta Fulvio Cezar Canducci Dias quarta-feira, 30 de outubro de 2013 02:58
- Marcado como Resposta JR-Master quinta-feira, 31 de outubro de 2013 09:52
-
-