Jump to content

[Resolvido] Duvida em LISTBOX


informaster
 Share

Recommended Posts

Boa noite amigos

Ando a fazer um gestão comercial trabalho da escola

tenho um

Listbox que vai buscar o nomefamilia á table do SQL e que por sua vez uso LINQ

como o software nao pode trabalhar com rato nem teclado

convem ter uma list box grande que já está

e tem dois botoes um para baixo e outro para cima

a questão é que eu coloquei isto nos botoes

    Private Sub bt_familias_baixo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_familias_baixo.Click

        lst_familias.SelectedIndex() = 1

    End Sub

    Private Sub bt_familias_cima_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_familias_cima.Click

        lst_familias.SelectedIndex() = 0

    End Sub

lol

só que o valor 1 é o 2º nome e o valor 0 é o 1º nome ou seja se eu inserir 20 familias teria que ter 0 1 2 3 4 5 6 7 8 9 etc...

e como eu não quero familias limitadas gostaria de saber como é feito isto de melhor forma

img1.jpg

Nuno Revez

@informaster

Link to comment
Share on other sites

somas ou retiras 1 valor ao SelectIndex para andar para cima ou para baixo, acho que resolve

lst_familias.SelectedIndex() = lst_familias.SelectedIndex() +1

PS: o SelectIndex começa em 0 e não em 1

Já agora abrevia 😛

lst_familias.SelectedIndex() += 1

No entanto tens de verificar se está no primeiro:

If lst_familias.SelectedIndex() > 0 then
    lst_familias.SelectedIndex() -= 1
End If

Ou no último:

If lst_familias.SelectedIndex() < lst_familias.Items.count - 1 then
    lst_familias.SelectedIndex() += 1
End If
Link to comment
Share on other sites

Boa ajuda amigos;) eheh

Mas

Eu fiz isto:

Private Sub bt_familias_baixo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_familias_baixo.Click
        If lst_familias.SelectedIndex() < lst_familias.Items.Count - 1 Then
            lst_familias.SelectedIndex() += 1
        Else
            lst_familias.SelectedIndex() = 0
        End If
    End Sub

    Private Sub bt_familias_cima_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_familias_cima.Click
        If lst_familias.SelectedIndex() < lst_familias.Items.Count + 1 Then
            lst_familias.SelectedIndex() -= 1
        Else
            lst_familias.SelectedIndex() = -1
        End If
    End Sub

agora no bt_familias_cima_Click

ele para no "lst_familias.SelectedIndex() -= 1" pois o botão para baixo  a lista vai toda para baixo e no fim passa para cima

no botao para cima devia passar de cima para baixo...

Tem alguma ideia?

Agradeço desde já a ajuda que nós dão aqui neste grande forum 😛

Nuno Revez

@informaster

Link to comment
Share on other sites

Altera o botão cima para:

   Private Sub bt_familias_cima_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_familias_cima.Click
        If lst_familias.SelectedIndex() <= 0 Then
            lst_familias.SelectedIndex() = lst_familias.Items.Count - 1
        Else
            lst_familias.SelectedIndex() -= -1
        End If
    End Sub
Link to comment
Share on other sites

Problema resolvido.

Ficou assim o botão cima

    Private Sub bt_familias_cima_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_familias_cima.Click

        If lst_familias.SelectedIndex() <= 0 Then

            lst_familias.SelectedIndex() = lst_familias.Items.Count - 1

        Else

            lst_familias.SelectedIndex() -= 1

        End If

    End Sub

perfect;)

Thanks very much

😛

Nuno Revez

@informaster

Link to comment
Share on other sites

Num problema de Última Hora, isto ajudou-me imenso, dado que não estava a conseguir pôr a minha form a funcionar com o que pensava! :wallbash:

Muito Obrigado, da minha parte! 🙂

Mas era melhor mudarem o titulo do tópico para "ListBox Para Cima e baixo" ou algo mais sugestivo... 😉 Eu consegui encontrar no google por "selectedindex Listbox cima baixo"...Mas se calhar mais sugestivo, ajuda mais pessoas 🙂

Ah, e já agora, algum Mod que coloque isto SOLVED. 🙂

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.