none
[VB2010] Musik Player-Nach letztem Item in ListBox wieder zum 1. wechseln? RRS feed

  • Frage

  • Hallo.

    Ich lasse in einer ListBox die Pfade anzeigen lassen, die ich öffne (ist ein Musik Player). Wenn der Musikplayer ein Lied fertig gespielt hat, soll das nächste kommen (klappt). Mein Problem:
    Wenn das letzte Lied abgespielt wurde soll er wieder zum 1. Wechseln und dieses abspielen.

    Ich dachte mir mit diesem Code würde es funktionieren:

    ' Aus anderem Sub:
    anzahl = Form2.ListBox1.Items.Count
    
    ' Hier wollte ich versuchen wieder zum 1. zu wechseln...
    If AlleWiederholenToolStripMenuItem.Checked = True Then
          	If Form2.ListBox1.SelectedIndex = anzahl - 1 Then
            	Form2.ListBox1.SelectedIndex = 0
            	start()
          	Else
          	Form2.ListBox1.SelectedIndex = Form2.ListBox1.SelectedIndex + 1
          	start() ' -> Startet den Song...
        	End If
    End If


    Doch es wird nach dem letzen Titel nicht wieder zum ersten gewechselt, sondern der letzte erneut abgespielt...

    Wo steckt der Fehler?


    LG Dominik

    Dienstag, 29. Juni 2010 17:19

Antworten

  • Habe doch noch eine Lösung gefunden.

     

     

    Try
     If Form2.ListBox1.SelectedIndex = Form2.ListBox1.Items.Count - 1 Then
       Form2.ListBox1.SelectedIndex = 0
       start()
     Else
       If Form2.ListBox1.SelectedIndex < Form2.ListBox1.Items.Count - 1 Then
        Form2.ListBox1.SelectedIndex += 1
        start()
       End If
      End If
    
     Catch ex As Exception
    
    End Try

     

    Dienstag, 29. Juni 2010 18:15
  • Hallo Dominik,

    nur für den Fall der Fälle:
    Du solltest vorsorgen, dass die Listbox keine Elemente enthält,
    dann wird die erste Zuweisung SelectedIndex = 0, eine Ausnahme auslösen
    (und zu Starten dürfte es auch nichts geben)
    Anstatt eines Catch wäre sinnvoller, vorab auf Count = 0 abzufragen.

    Gruß Elmar

    Mittwoch, 30. Juni 2010 07:52

Alle Antworten

  • Habe doch noch eine Lösung gefunden.

     

     

    Try
     If Form2.ListBox1.SelectedIndex = Form2.ListBox1.Items.Count - 1 Then
       Form2.ListBox1.SelectedIndex = 0
       start()
     Else
       If Form2.ListBox1.SelectedIndex < Form2.ListBox1.Items.Count - 1 Then
        Form2.ListBox1.SelectedIndex += 1
        start()
       End If
      End If
    
     Catch ex As Exception
    
    End Try

     

    Dienstag, 29. Juni 2010 18:15
  • Hallo Dominik,

    nur für den Fall der Fälle:
    Du solltest vorsorgen, dass die Listbox keine Elemente enthält,
    dann wird die erste Zuweisung SelectedIndex = 0, eine Ausnahme auslösen
    (und zu Starten dürfte es auch nichts geben)
    Anstatt eines Catch wäre sinnvoller, vorab auf Count = 0 abzufragen.

    Gruß Elmar

    Mittwoch, 30. Juni 2010 07:52