• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

informaster

[Resolvido] Duvida em LISTBOX

11 mensagens neste tópico

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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 :P

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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 :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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

:P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Como deves ter reparado isto foi um erro de copy/paste  :P

"lst_familias.SelectedIndex() -= -1"

Mas também era simples de ver.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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. :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Num problema de Última Hora, isto ajudou-me imenso, dado que não estava a conseguir resolver ! :wallbash:

Muito Obrigado, da minha parte! ;)

É Bessa, 3 anos? É so pó :fartnew2:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim, fui um GRANDE desenterro! :cheesygrin:

Mas deu um JEITÃO! ;)

Quanto ás sugestões, eu dei porque isso do SOLVED, já que desenterrei, ficava como o normal, né? :) E a outra, sugeri para uma mais fácil busca. :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora