型 | プロパティ | 内容 |
---|---|---|
ListViewItem | Item[Int32] | 指定のインデックスにある項目 |
ListViewItem | Item[String] | 指定のキーを持つ項目 |
public virtual ListViewItem Add( string text )ListView.ListViewItemCollection.Add メソッド (String) (System.Windows.Forms) | MSDN
そのとき詳細な情報を指定したいならば、ListViewItemのインスタンスを別に作成します。
public virtual ListViewItem Add( ListViewItem value )ListView.ListViewItemCollection.Add メソッド (ListViewItem) (System.Windows.Forms) | MSDN
ListViewItem item = new ListViewItem(); listView.Items.Add(item);
このAdd()メソッドは追加されたListViewItemを返すため、次のようにも記述できます。
ListViewItem item = listView.Items.Add(new ListViewItem());
ListViewItemのテキストは、生成時に設定できます。
public ListViewItem(
string text // 項目に表示するテキスト (259文字未満)
)
ListViewItem コンストラクター (String) (System.Windows.Forms) | MSDN
他にも多数のオーバーロードがあり、そこで各種の情報を設定できます。
複数の項目をListViewに追加するときは、AddRange()で一括して処理します。
public void AddRange( ListViewItem[] items )ListView.ListViewItemCollection.AddRange メソッド (ListViewItem[]) (System.Windows.Forms) | MSDN
これ以外の場合、たとえば個別に追加や変更する場合には、BeginUpdate()とEndUpdate()でコントロールの更新を一時停止させます。さもなくば変更を加えるたびにコントロールが再描画されるため、性能を著しく低下させます。
listView.BeginUpdate(); try { for (int i = 0; i < 100; i++) { ListViewItem item = new ListViewItem(); listView.Items.Add(item); } } finally { listView.EndUpdate(); }
指定のキー (ListViewItem.Nameの値) と一致する名前を持つ、すべての項目を得られます。
public System.Windows.Forms.ListViewItem[] Find (
string key,
bool searchAllSubItems // trueならば、サブ項目も検索する
);
ListView.ListViewItemCollection.Find(String, Boolean) メソッド (System.Windows.Forms) | Microsoft Learn
keyの大文字/小文字は区別されません。
Find()は一致するすべての項目を検索するため、項目の数だけ計算量がかかります。一方でIndexOfKey()は一致した時点で処理を打ち切るため、キーが重複しないことが確かでありサブ項目を対象外とするならば、IndexOfKey()の方が効率的です。Find - ListView.cs
指定のキーと一致する名前を持つ、最初の項目のインデックスを得られます。
public virtual int IndexOfKey (string key);ListView.ListViewItemCollection.IndexOfKey(String) メソッド (System.Windows.Forms) | Microsoft Learn
keyの大文字/小文字は区別されません。
検索結果は1つだけキャッシュされ、同一のkeyをくり返し指定したときは、そのキャッシュされた結果が返されます。 Remarks - ListView.ListViewItemCollection.IndexOfKey(String) Method (System.Windows.Forms) | Microsoft Learn IndexOfKey - ListView.cs