リストビューに大量のアイテムをListView.Items.Add
メソッドで追加していたら律速になっていました。仮想リストビューも一つの手ですが、項目が多い場合はListView.Items.AddRangeで高速化できる場合があります。
listView1.BeginUpdate(); // infosという配列様オブジェクトから項目を作成する。 var items = new ListViewItem[infos.Length]; for (var i = 0; i < items.Length; i++) { var info = infos[i]; // ListView.SubItems.Addを毎回呼び出さない。 items[i] = new ListViewItem(new[]{ info.A, info.B, info.C, ... info.Z, }); } // ListView.Items.Addを毎回呼び出さない。 listView1.Items.AddRange(items); // listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); listView1.EndUpdate();