Risolto Selezionare dato listbox tramite pulsante

Cels

Utente abituale
4 Dicembre 2018
299
28
Excel 2016
9
Ciao a tutti,
mi sto cimentando nell'uso di Visual Basic 2010 (in fase di studio :studia:) e più nello specifico nella selezione dei dati nelle listbox.
Vorrei un aiuto in questo... come selezionare un dato per volta usando i pulsanti.
Tipo se clicco sul pulsante "Avanti" va al dato successivo, se clicco su "Indietro" va al dato precedente. (bella spiegazione vero? Muoio_muoio)
Una volta selezionato il dato, tramite un altro tasto, riproduce il pezzo (parlo di file multimediali).
Questo è il codice presente nella listbox, se clicco su un dato, tramite l'altro pulsante, riproduce il pezzo:
Visual Basic:
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
        AxWindowsMediaPlayer1.URL = paths(ListBox1.SelectedIndex)

    End Sub
Grazie mille in anticipo per ogni suggerimento e buona continuazione cappello_saluta
 

Cels

Utente abituale
4 Dicembre 2018
299
28
Excel 2016
9
Ci sono riuscita! :gongolo:
Questo è il codice per andare avanti:
Visual Basic:
Dim j As Integer = ListBox1.SelectedIndex
        For i = 0 To ListBox1.Items.Count - 1
            If i = j + 1 Then
                ListBox1.SetSelected(i, True)
                Exit For
            Else
                ListBox1.SetSelected(0, True)
            End If
        Next
Invece questo è il codice per tornare indietro:
Visual Basic:
Dim j As Integer = ListBox1.SelectedIndex
        For i = 0 To ListBox1.Items.Count - 1
            If i = j - 1 Then
                ListBox1.SetSelected(i, True)
                Exit For
            Else
                ListBox1.SetSelected(ListBox1.Items.Count - 1, True)
            End If
        Next
Buon weekend a tutti my_Drinks
 
  • Like
Reactions: ges and Powerwin

giulianovac

Access/VBA Expert
Expert
9 Giugno 2018
2.233
83
Italy
2013 2019
166
Ci sono riuscita!
Scusa ma non capisco il senso dei cicli For/Next. A mio avviso sono inutili.
A che ti servono? :unsure:

Non ti basta una semplice If/End If?

Esempio, supponiamo di avere due Button (btnLBIndietro e btnLBAvanti) usati per scorrere il ListBox1:

Visual Basic:
    Private Sub btnLBIndietro_Click(sender As Object, e As EventArgs) Handles btnLBIndietro.Click
        If ListBox1.SelectedIndex > 0 Then
            ListBox1.SelectedIndex = ListBox1.SelectedIndex - 1
        End If
    End Sub

    Private Sub btnLBAvanti_Click(sender As Object, e As EventArgs) Handles btnLBAvanti.Click
        If ListBox1.SelectedIndex < (ListBox1.Items.Count - 1) Then
            ListBox1.SelectedIndex = ListBox1.SelectedIndex + 1
        End If
    End Sub
 

Sostieni ForumExcel

Aiutaci a sostenere le spese e a mantenere online la community attraverso una libera donazione!