Ich habe dies recherchiert und kann nirgendwo eine Referenz finden, um das Problem zu beheben. Ich habe Code erstellt, um etwa 20 Elemente aus einem Textdokument zu randomisieren, und lege sie in ein Listenfeld auf meinem Formular. Dies ist ein rechtliches Dokument, also würde es einmal zufällig in das Textdokument zurückgelesen werden, nur in einer anderen Reihenfolge. Jeder Artikel hat eine Überschrift: ANTRAG AUF EINTRAG NR. # (# ist die Nummer, die in der Zeile steht). Ich brauche diese # in der Reihenfolge der Nummern (1-20), obwohl die Reihenfolge der Fragen verschlüsselt ist. Ich habe weiter daran gearbeitet, bis ich die Zeile mit einer erhöhten Nummer eingefügt habe. Aber es erhöht sie rückwärts (siehe redigiertes Beispiel). Program output Die Schuldige Sprache ist unten. Ich denke, dass es dort irgendwo ist:Listbox-Einfügung Problem
ListBox1.BeginUpdate()
Try
'do with listBox1.Items[i]
For i As Integer = ListBox1.Items.Count - 1 To 0 Step -1
ListBox1.Items.Insert(i, "REQUEST FOR ADMISSION NO. " & nxtNum & vbCrLf)
nxtNum += 1
Next
Finally
ListBox1.EndUpdate()
End Try
Hinweis: Ich konnte es durch Umklappen der Liste an der Arbeit. Nicht elegant, aber es funktioniert.
ListBox1.BeginUpdate()
Try
'do with listBox1.Items[i]
For i As Integer = ListBox1.Items.Count - 1 To 0 Step -1
ListBox1.Items.Insert(i + 1, "REQUEST FOR ADMISSION NO. " & nxtNum & vbCrLf)
nxtNum += 1
Next
Finally
ListBox1.EndUpdate()
End Try
nxtNum = 1
Dim items() As Object = ListBox1.Items.Cast(Of Object).Reverse.ToArray
ListBox1.Items.Clear()
ListBox1.Items.AddRange(items)
Das Problem könnte in dieser Linie: „ListBox1.Items.Count - 1 bis 0 Schritt -1“, aber wenn ich es umgekehrt, das heißt " 0 bis ListBox1.Items.Count - 1 Schritt -1 "es listet alle" ANTRÄGE FÜR EINTRAG NR. "[1-20] oben in der Listbox statt vor jeder Zeile der Listbox auf, wie gewünscht. –