none
Foco com seleção em um combobox RRS feed

  • Pergunta

  • Percebi que sempre que abro um form novo e dou foco em um combobox ele não marca o combobox com aquela caixinha de seleção.

    Exemplo: Em uma tela com um textbox e um combobox, se no keydown do textbox eu programar para que o enter de um combobox.focus o combo será focado, mas visivelmente não da pra perceber.

    Porém se eu estiver com o foco no textbox e apertar a tecla TAB, ai sim focará o combobox marcando com uma caixinha de seleção.

    Gostaria de saber se existe uma maneira de fazer esse mesmo efeito do tab (selecionar com a marca) via código, sem utilizar algo do tipo SendKeys.Send ("{TAB}") .

    Obrigado desde já.

    sexta-feira, 29 de abril de 2016 17:11

Respostas

  • Boa tarde,

    Se é o foco e a seleção isso resolve:

    comboBox1.Focus();
    comboBox1.Select();
    Att,

    Se a resposta contribuiu com seu aprendizado por favor marque como util, se solucionou seu problema marque como resposta.

    • Sugerido como Resposta Silvaney sexta-feira, 29 de abril de 2016 18:34
    • Marcado como Resposta Rafael Barufi de Souza sexta-feira, 29 de abril de 2016 19:19
    sexta-feira, 29 de abril de 2016 17:27

Todas as Respostas

  • Boa tarde,

    Se é o foco e a seleção isso resolve:

    comboBox1.Focus();
    comboBox1.Select();
    Att,

    Se a resposta contribuiu com seu aprendizado por favor marque como util, se solucionou seu problema marque como resposta.

    • Sugerido como Resposta Silvaney sexta-feira, 29 de abril de 2016 18:34
    • Marcado como Resposta Rafael Barufi de Souza sexta-feira, 29 de abril de 2016 19:19
    sexta-feira, 29 de abril de 2016 17:27
  • Boa tarde Silvaney.

    É isso mesmo, criando um form novo para testar deu certo, porém na minha aplicação não funciona, ele apenas foca e não seleciona... Tanto o textbox quanto o combobox estão dentro de um Panel, será que tem alguma relação?

    sexta-feira, 29 de abril de 2016 17:41
  • Boa tarde,

    Rafael, fiz o teste adicionando em uma "Panel" e deu sucesso. Confira se quando você da o "Select()" a combo ja esta preenchida.

    Att,


    Se a resposta contribuiu com seu aprendizado por favor marque como util, se solucionou seu problema marque como resposta.

    sexta-feira, 29 de abril de 2016 18:38
  • Silvaney quando eu dou o select() mesmo sem mostrar o caixa de seleção eu consigo navegar pelo combo utilizando as setas do teclado, então aparentemente já está alimentado. Eu fiz vários testes, criando o txt e combo novamente e etc, e em uma das telas o que resolveu foi alterar os tabindex que estavam 204 e 205 e eu passei para 4 e 5.

    Não sei qual a relação disso mas resolveu... Porém em uma das telas o combobox é o primeiro campo, ai não estou conseguindo o select() também. Mas está muito estranho, acredito ser algum problema com relação ao index ou algo criado "por trás" pelo vb... Em uma tela eu cheguei remover todos os componentes e códigos e deixar as propriedades do form iguais ao novo que criei(que funcionava o select) e continuava não funcionando, ai após mudar o index resolveu como eu disse.

    Tem mais alguma idéia do que pode ser?

    Em todo caso agradeço a atenção e ajuda!

    sexta-feira, 29 de abril de 2016 19:10
  • Rafael, fiz diversos testes aqui mas em nenhum cheguei ao mesmo cenário. Para uma tentativa, tente selecionar um índice existente no "ComboBox". Ou seja forçar selecionar outro que não seja o da posição "0".
    comboBox1.Focus();
    comboBox1.SelectedIndex = 1;
    comboBox1.Select();
    Att,

    Se a resposta contribuiu com seu aprendizado por favor marque como util, se solucionou seu problema marque como resposta.

    sexta-feira, 29 de abril de 2016 19:20
  • Ele seleciona o item mas sem marcar mesmo hehehe. O projeto em que estou trabalhando foi iniciado a algum tempo e no vb 2010 se não me engano, hoje estou trabalhando nele com o visual 2013, não sei se pode ter acontecido algo assim por essa mudança, enfim, achei muito estranho. Telas novas não dão esse problema, mas as antigas quase todas acontece isso.

    Mas obrigado mais uma vez pela ajuda e atenção, vou utilizar o SendKeys("{TAB}") mesmo

    Boa tarde!

    sexta-feira, 29 de abril de 2016 19:41