Uma consulta rápida... Estou trabalhando em C#.net
Tenho um evento KeyUP, que se ativa quando a letra que se pressiona é igual a enter... O que acontece é que por exemplo, este KeyUP é um evento de um ComboBox... O usuário dá enter para ativar o método no ComboBox, porém por exemplo, está a possibilidade de que a petição seja má, assim quando envio uma MesageBox dizendo "Há um erro, deve selecionar um membro válido do ComboBox". Ao sair este MessageBox, o usuário logicamente dará enter para tirar e corrigir o erro, porém ao dar enter o ComboBox volta reconhecer que há um enter no buffer do teclado então, volta a enviar a mensagem, de maneira infinita, já que aparece a mensagem, o usuário o tira com enter, então volta a aparecer, e assim de maneira indeterminada...
Pensei então em limpar o buffer do teclado para que depois de tirar a MessageBox, já não esteja o enter para que o ComboBox o detecte, porém não tenho nem idéia de como fazê-lo já que parece não haver sets para limpar o buffer, inclusive para colocar outra tecla...
O curioso, é que o usuário, se ao invés de dar enter quando aparece a MessageBox, dá clique ao botão aceitar, não ocorre o problema, isto demonstra minha hipótese, de que a tecla do enter fique no buffer e o evento KeyUp do ComboBox o detecta...
Espero que alguém possa me dar uma mão, qualquer ajuda será agradecida...
Saudações...
Olá, comentarei como solucionei o problema...
Utilizei o evento TextChange, para verificar se o que o usuário escreve no ComboBox, é válido, e ativo o evento que continua... de outra maneira não faz nada... Assim evitei utilizar esses eventos de Keys... Muito obrigado a todos...
Por Mynor Ariel