Question

Existe-t-il un moyen d’ajouter un élément à un ListBox WinForms, au début de la liste sans réécrire toute la liste en boucle?

Une autre façon de résoudre mon problème serait d’afficher ListBox dans l’ordre inverse (dernier élément en haut), mais je ne sais pas comment le faire.

Mon contrôle ListBox est utilisé comme afficheur de journal, l'entrée la plus récente devant être placée en haut.

Était-ce utile?

La solution

Utilisez le Insérer sur les éléments de votre ListBox .

Autres conseils

Si je comprends bien, ne pouvez-vous pas utiliser la méthode Insert (int index, object item) ? Par exemple:

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

Ceci insère "Premier" comme premier élément de la liste.

Une option pourrait être d'utiliser la méthode .Sort () du ListBox http://msdn.microsoft.com/ en-us / library / system.windows.forms.listbox.sort.aspx

L’autre consiste évidemment à placer vos éléments dans une liste générique et à ajouter / supprimer des éléments. à partir de cette liste au lieu de directement au ListBox. Utilisez la liste comme source de données pour votre ListBox.

Vous devriez pouvoir définir l'ordre de tri dans votre source de données si vous horodatez les événements du journal.

Je n’ai aucune preuve scientifique qui m’aide ici, mais je pense qu’une zone de texte est plus performante pour la visualisation des journaux. Vous pouvez également configurer facilement le défilement automatique et si vous souhaitez copier quelque chose, aucun codage n’est nécessaire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top