vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Fehler im Code 
Autor: Lefay
Datum: 03.04.06 15:58

Hi,

ich habe eine Listbox mit 6 Einträgen, ich möchte diese nun mit 2 Buttons entweder eine Position nach oben oder unter verschieben.

Leider klappt der folgende Code nicht ganz:

Fehler:
IndexOutOfRangeException wurde nicht behandelt
Der Index war außerhalb des Arraybereichs.

(folgende Zeile: intPosLetzte = lstListe.Items.IndexOf(lstListe.SelectedItems(lstListe.SelectedItems.Count - 1)) )

    Private Sub lstListe_SelectedIndexChanged(ByVal sender As Object, ByVal e _
      As System.EventArgs) Handles lstListe.SelectedIndexChanged
        Dim intPosLetzte As Integer
        'Wenn der letzte Eintrag in der Listbox ausgewählt wurde den nach oben 
        ' Button deaktivieren
        If Me.lstListe.SelectedItems.Count > 0 Then
            If Me.lstListe.Items.IndexOf(Me.lstListe.SelectedItem) = 0 Then
                Me.butnachoben.Enabled = False
            Else
                Me.butnachoben.Enabled = True
            End If
        End If
        'Wenn der letzte Eintrag in der Listbox ausgewählt wurde den nach unten 
        ' Button deaktivieren
        intPosLetzte = lstListe.Items.IndexOf(lstListe.SelectedItems( _
          lstListe.SelectedItems.Count - 1))
        If intPosLetzte = lstListe.Items.Count - 1 Then
            butnachunten.Enabled = False
        Else
            butnachunten.Enabled = True
        End If
    End Sub
 
    Private Sub butnachoben_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles butnachoben.Click
        'Den / Die ausgewählten Einträge in der Listbox um eine Postion nach 
        ' oben schieben, solange der erste Eintrag nicht makiert wurde
        Dim intPos As Integer
        Dim objEintrag As Object
        Dim intZähler As Integer
        objEintrag = Me.lstListe.SelectedItem
        intPos = Me.lstListe.SelectedIndex
        For intZähler = 0 To Me.lstListe.SelectedItems.Count - 1
            objEintrag = Me.lstListe.SelectedItem
            intPos = Me.lstListe.Items.IndexOf(Me.lstListe.SelectedItem)
            Me.lstListe.Items.Remove(objEintrag)
            Me.lstListe.Items.Insert(intPos - 1, objEintrag)
        Next
    End Sub
 
    Private Sub butnachunten_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles butnachunten.Click
        'Den / Die ausgewählten Einträge in der Listbox um eine Postion nach 
        ' unten schieben, solange der letzte Eintrag nicht makiert wurde
        Dim intPos As Integer
        Dim objEintrag As Object
        Dim intZähler As Integer
        objEintrag = Me.lstListe.SelectedItem
        intPos = Me.lstListe.SelectedIndex
        For intZähler = 0 To Me.lstListe.SelectedItems.Count - 1
            objEintrag = Me.lstListe.SelectedItem
            intPos = Me.lstListe.Items.IndexOf(Me.lstListe.SelectedItem)
            Me.lstListe.Items.Remove(objEintrag)
            Me.lstListe.Items.Insert(intPos + 1, objEintrag)
        Next
    End Sub
 
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Fehler im Code770Lefay03.04.06 15:58
Re: Fehler im Code529vbtricks03.04.06 19:27
Re: Fehler im Code456Lefay04.04.06 08:19
Re: Fehler im Code566vbtricks04.04.06 09:52

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel