web-dev-qa-db-ja.com

リストボックスのリストの先頭にアイテムを追加するにはどうすればよいですか?

ループでリスト全体を書き換えずに、WinForms ListBoxにリストの先頭に項目を追加する方法はありますか?

私の問題を解決する他の方法は、ListBoxを逆の順序で表示することです(一番上の項目)。しかし、その方法がわかりません。

My ListBoxコントロールは、最新のエントリが一番上にあるログビューアとして使用されます。

23
kyrisu

Insertのアイテムに対して ListBox メソッドを使用します。

37
bruno conde

私が正しく理解している場合、Insert(int index, object item)メソッドを使用できませんか?例えば:

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

これにより、リストボックスの最初のアイテムとして「First」が挿入されます。

28
Razzie

1つのオプションは、ListBoxの.Sort()メソッドを使用することです http://msdn.Microsoft.com/en-us/library/system.windows.forms.listbox.sort.aspx

もちろん、もう1つは、アイテムを一般的なリストに入れ、リストボックスに直接ではなく、そのリストからアイテムを追加/削除することです。リストをリストボックスのデータソースとして使用します。

1
TimothyP

ログイベントにタイムスタンプを付ける場合は、データソースでソート順を設定できるはずです。

0
atfergs

ここで私をバックアップする科学的証拠はありませんが、ログの視覚化を処理するにはテキストボックスの方がパフォーマンスが高いと思います。自動スクロールを簡単に設定することもでき、何かをコピーしたい場合は、コーディングは必要ありません。

0
Peter