Как добавить элемент в начало списка в ListBox?
Вопрос
Есть ли способ добавить элемент в список элементов 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.
Вы должны иметь возможность установить порядок сортировки в своем источнике данных, если вы ставите метку времени в событиях журнала.
У меня нет никаких научных доказательств, чтобы поддержать меня здесь, но я думаю, что текстовое поле более эффективно в обработке визуализации журнала. Вы также можете легко настроить автопрокрутку, и если вы захотите скопировать что-либо, это не потребует никакого кодирования.