Как добавить элемент в начало списка в ListBox? - PullRequest
23 голосов
/ 04 мая 2009

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

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

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

Ответы [ 5 ]

35 голосов
/ 04 мая 2009

Используйте метод Insert на предметах вашего ListBox.

26 голосов
/ 04 мая 2009

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

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

Вставляет «Первый» в качестве первого элемента списка.

1 голос
/ 04 мая 2009

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

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

0 голосов
/ 04 мая 2009

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

0 голосов
/ 04 мая 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...