none
Erro ao pegar valor selecionado no combobox RRS feed

  • Pergunta

  • Boa tarde,

    estou me deparando com uma dúvida bem básica, mas não consigo solucioná-la. Alguém poderia me ajudar?

    Ocorre que tenho num Form um Combobox e atualizo uma variávelglobal com o valor selecionado. Para atualizar a Variável Global uso o método cbChavesKT_SelectedValueChanged. Porém analisando o programa em modo passo a passo (F11) vejo que o programa varre o método sempre ao carregar a pagina e nesse momento ele ignora que eu tenha clicado no item 2 do combo e sempre carrega o primeiro valor da lista do combo (item 1). Existe algo que seja setado para que só passe no método apenas no caso de se clicar no combo? Pois qualquer outro botão clicado no form ele varre o metodo e considera o item 1 do combo, mesmo que tenha sido selecionado o item 2 anteriormente.

    Já tentei selectValue, selectItem, selectText....

    Obrigado

    quinta-feira, 19 de dezembro de 2019 15:58

Respostas

  • Boa tarde Roberto,

    seu combobox é preenchido os valores no código fonte ou você preenche através de um datatable?

    isso vai determinar o que você ira usar para pegar o código. (selectValue, selectItem, selectindex)

    mas você pode usar o evento SelectedIndexChanged.

    e ai você atribui o valor que quer pegar, seja ele o value, o text ou o index.

    Quando for selecionado um novo valor no seu combobox ele ira executar o que estiver programado.

    private void ComboBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                // seu código
            }

    • Sugerido como Resposta Williamfd sexta-feira, 10 de janeiro de 2020 14:33
    • Marcado como Resposta Levi DomingosModerator domingo, 9 de fevereiro de 2020 21:28
    quarta-feira, 8 de janeiro de 2020 19:03

Todas as Respostas

  • Roberto,

    Pode postar como esta seu código? Qual o tipo de projeto? Forms, WebForms, MVC?

    sexta-feira, 20 de dezembro de 2019 17:07
  • Então,

    Acredito que o erro seja conceitual da minha parte:

    Projeto é em WindowsForm, C#

    Tenho um Combo chamado cbChavesKT e ele carrega os nomes de tabelas existentes (tudo fincionando). Porém depois de eu selecionar um item neste combo

    public void cbChavesKT_SelectedValueChanged(object sender, EventArgs e)
    { ... }

    eu salvo este valor seleicionado numa variavel global para "memorizar" em que tabeleas estaremos trabalhand até uma nova sleeção no mesmo combo. Acontece que mesmo estando selecionado o item 3 (por exemplo) e tudo carregar conforme esperado na tela, ao clicar eu um botão dentro desta tela, o código varre novamente o evento 

    public void cbChavesKT_SelectedValueChanged(object sender, EventArgs e)
    { ... }

    e recarrega a variável que deveria manter o valor do item 3 até a proxima troca (selectValueChanged), com o valor do item 1 do Combo, mesmo estando aparecendo na posição de selecionado do combo o item 3.

    sexta-feira, 20 de dezembro de 2019 17:55
  • Ninguém se habilita? Help me!!! rsrs
    segunda-feira, 23 de dezembro de 2019 16:27
  • Então, Acredito que o erro seja conceitual da minha parte: Projeto é em WindowsForm, C# Tenho um Combo chamado cbChavesKT e ele carrega os nomes de tabelas existentes (tudo fincionando). Porém depois de eu selecionar um item neste combo public void cbChavesKT_SelectedValueChanged(object sender, EventArgs e) { ... } eu salvo este valor seleicionado numa variavel global para "memorizar" em que tabeleas estaremos trabalhand até uma nova sleeção no mesmo combo. Acontece que mesmo estando selecionado o item 3 (por exemplo) e tudo carregar conforme esperado na tela, ao clicar eu um botão dentro desta tela, o código varre novamente o evento public void cbChavesKT_SelectedValueChanged(object sender, EventArgs e) { ... } e recarrega a variável que deveria manter o valor do item 3 até a proxima troca (selectValueChanged), com o valor do item 1 do Combo, mesmo estando aparecendo na posição de selecionado do combo o item 3.
    segunda-feira, 23 de dezembro de 2019 16:37
  • Boa tarde Roberto,

    seu combobox é preenchido os valores no código fonte ou você preenche através de um datatable?

    isso vai determinar o que você ira usar para pegar o código. (selectValue, selectItem, selectindex)

    mas você pode usar o evento SelectedIndexChanged.

    e ai você atribui o valor que quer pegar, seja ele o value, o text ou o index.

    Quando for selecionado um novo valor no seu combobox ele ira executar o que estiver programado.

    private void ComboBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                // seu código
            }

    • Sugerido como Resposta Williamfd sexta-feira, 10 de janeiro de 2020 14:33
    • Marcado como Resposta Levi DomingosModerator domingo, 9 de fevereiro de 2020 21:28
    quarta-feira, 8 de janeiro de 2020 19:03