2009-05-04 5 views
18

Gibt es eine Möglichkeit, ein Element zu einer WinForms-ListBox am Anfang der Liste hinzuzufügen, ohne die gesamte Liste in einer Schleife neu zu schreiben?Wie füge ich ein Element am Anfang der Liste in ListBox hinzu?

Andere Möglichkeit, mein Problem zu lösen, wäre, ListBox in umgekehrter Reihenfolge anzuzeigen (letzter Punkt oben), aber ich weiß nicht, wie es geht.

Mein ListBox-Steuerelement wird als Protokollanzeige verwendet, wobei der neueste Eintrag oben sein sollte.

Antwort

28

Verwenden Sie die Insert Methode für die Artikel Ihrer ListBox.

+0

Danke :) Ich sehe, ich habe viel zu lernen C#: D – kyrisu

23

Wenn ich richtig verstehe, können Sie nicht die Insert(int index, object item) Methode verwenden? Beispiel:

myListBox.Items.Insert(0, "First"); 

Dies fügt "First" als erstes Element der Listbox ein.

0

Sie sollten in der Lage sein, die Sortierreihenfolge in Ihrer Datenquelle festzulegen, wenn Sie die Protokollereignisse mit Zeitstempeln versehen.

+0

Bitte fügen Sie einen Code für Ihre Antwort –

0

Ich habe keine wissenschaftlichen Beweise, um mich hier zu unterstützen, aber ich denke, eine Textbox ist leistungsfähiger in der Handhabung von Log-Visualisierung. Sie können Autoscrolling auch einfach einrichten und wenn Sie etwas kopieren möchten, würde es keine Codierung erfordern.

+0

Ich habe bereits mein Problem gelöst (mit Einsatz: P), aber nur zur Klarstellung - ich benutze Listbox Ursache i brauche eine einfache Möglichkeit, Elemente und benutzerdefinierte Farben für jede Nachricht hinzuzufügen (wie Fehler, Erfolg usw.) und ich habe bereits DrawItem-Handler für Listbox geschrieben :) – kyrisu

Verwandte Themen