Как добавить элемент в начало списка в ListBox?

StackOverflow https://stackoverflow.com/questions/819891

  •  03-07-2019
  •  | 
  •  

Вопрос

Есть ли способ добавить элемент в список элементов WinForms в начало списка, не переписывая весь список в цикле?

Другим способом решения моей проблемы было бы отображение ListBox в обратном порядке (последний элемент сверху), но я не знаю, как это сделать.

Мой элемент управления ListBox используется в качестве средства просмотра журнала, где самая последняя запись должна быть вверху.

Это было полезно?

Решение

Используйте Вставить метод для элементов вашего ListBox .

Другие советы

Если я правильно понимаю, нельзя ли использовать метод Insert (int index, object item) ? Например:

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

Это вставляет " Первый " как первый элемент списка.

Одним из вариантов может быть использование метода .Sort () в ListBox http://msdn.microsoft.com/ ан-нас / библиотека / system.windows.forms.listbox.sort.aspx

Другое, конечно, это поместить ваши элементы в общий список и добавлять / удалять элементы из этого списка, а не прямо в ListBox. Используйте список в качестве источника данных для вашего ListBox.

Вы должны иметь возможность установить порядок сортировки в своем источнике данных, если вы ставите метку времени в событиях журнала.

У меня нет никаких научных доказательств, чтобы поддержать меня здесь, но я думаю, что текстовое поле более эффективно в обработке визуализации журнала. Вы также можете легко настроить автопрокрутку, и если вы захотите скопировать что-либо, это не потребует никакого кодирования.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top