.NET1.xではListViewに以下のようにすべてのアイテムを追加していました。
this.listView1.BeginUpdate();
this.listView1.Items.Clear();
for (int i = 0; i < 10000; i++)
{
this.listView1.Items.Add(i.ToString());
}
this.listView1.EndUpdate();
ただしこれはListViewに1万個のアイテムを保持することにもなり、非常にリソースを使います。
.Net 2.0では仮想リストビューがサポートされています。
this.listView1.VirtualMode = true;
this.listView1.VirtualListSize = 10000;
仮想を宣言
this.listView1.RetrieveVirtualItem += new System.Windows.Forms.RetrieveVirtualItemEventHandler(this.listView1_RetrieveVirtualItem);
RetrieveVirtualItem イベントを宣言
private void listView1_RetrieveVirtualItem(object sender, RetrieveVirtualItemEventArgs e)
{
e.Item = new ListViewItem(e.ItemIndex.ToString());
}
実装
これで完了です。
実際にはListViewItemを配列で保持したりすることで、代入するだけですし簡単ですね。