none
Como associar um SpinButton a um listbox e a um textbox? RRS feed

  • Pergunta

  • Olá, tenho um formulário com uma caixa de listagem (listbox), cada um referente a uma propriedade.

    Ao selecionar algo em tal caixa de listagem, posso atribuir um valor em um textbox. Finalmente, ao clicar no botão "concluir", então esse valor é salvo em uma planilha, em frente ao nome da propriedade (o mesmo da listbox).

    Isso não foi muito complicado, no evento textbox_change, atribui o valor do item da listbox  e o valor do conteúdo da caixa de texto em uma matriz. No entanto, queria que, ao dar enter, já fosse para o próximo item.

    Para facilitar a movimentação, sem ter de ficar clicando toda hora na listbox, criei um spinbutton, até está funcionando bem. Seus eventos _SpinUp e _SpinDown movimentam a listbox. No entanto, gostaria que, um "enter" no textbox já fizesse o spinbutton passar para o próximo, mas não consigo chamar SpinDown de dentro do TextBox1_Enter().

    Deve haver uma forma melhor para solucionar isso.

    segunda-feira, 18 de julho de 2011 21:01

Todas as Respostas

  • Até consegui fazer alguma coisa e sem usar _SpinUp ou _SpinDown, mas usando _Change:

    Private Sub SpinButton1_Change()
      
      If SpinButton1.Value > ListBox1.ListCount Then
        SpinButton1.Value = ListBox1.ListCount
      End If
      
      If ListBox1.ListCount > SpinButton1.Value And SpinButton1.Value >= 0 And SpinButton1.Value <= ListBox1.ListCount Then
        ListBox1.ListIndex = SpinButton1.Value
      End If
      TextBox1.SetFocus
      
    End Sub
    

    O único problema é que parece que não está funcionando o TextBox1.SetFocus; não tenho idéia do porquê. Ocorre que, isso só funciona a cada duas vezes que clico no SpinButton. Estranho.

    terça-feira, 19 de julho de 2011 20:02