none
Componente C# - eventos Leave / Exit / KeyPress RRS feed

  • Pergunta

  • Preciso de ajuda com componente para windows form.

     

    Criei um componente em C# (VS2019), neste componente tenho 1 textBox e 1 button. O componente está funcionando direitinho.

    Ao teclar ENTER quando estou no textBox, o componente deve clicar no botão. Perfeito, está funcionando.

     

    Porém, no formulário do meu projeto, onde utilizo esse componente, após tem um comboBox.

     

    Agora vem minha dificuldade.

     

    No meu formulário, quando teclo o ENTER o cursor muda de campo.

    Assim quando estou com o foco no meu componente ao teclar ENTER o componente faz o click do botão, mas o form faz ele mudar de campo, isto é ir para o comboBox. Porém o comboBox é preenchido com o valor gerado pelo meu componente.

    Neste momento estou com o problema.

    Quando teclo ENTER, pelo formulário ele iria rodar o código que está no Leave do meu componente, que seria carregar o combo. Mas meu componente ainda não terminou de processar os dados para passar o filtro para preencher o combo. Pois o ENTER iria clicar no botão para que os dados sejam processados.

    O sistema está executando o Leave do componente antes de executar o código de clicar no botão que é interno do componente.

    Como corrigir isso. Ao clicar ENTER ... primeiro tem de executar o código do componente que nesse caso é clicar no botão. Depois de finalizar todo o processamento do botão, então o cursor deveria deixar o componente que criei e ir para o comboBox. 

     

    Como controlar isso?

     

    Obrigado,

     

    Wagner

    quarta-feira, 17 de junho de 2020 00:59