プロパティまたはインデクサー’System.Windows.Forms.ListViewItem.Index’は読み取り専用なので、割り当てることはできません。

シェアする

  • このエントリーをはてなブックマークに追加

C#のListViewで選択を制御していますが、読み取り専用とのエラーが出て困りました。

スポンサードリンク

C#のListViewでエラー

ListViewの選択をプログラムで制御しようとしているのですが、うまくいきません。

Form.listView1.SelectedItems[0].Index = 1;

と代入すると、以下のエラーが表示されました。

ListView.SelectedListViewItemCollection ListView.SelectedItems

コントロール内の選択された項目を取得します。

エラー:

プロパティまたはインデクサー’System.Windows.Forms.ListViewItem.Index’は読み取り専用なので、割り当てることはできません。

image

英語版なら以下のエラーです。

Property or indexer 'System.Windows.Forms.ListViewItem.Index' cannot be assigned to -- it is read only

スポンサードリンク

ListViewItem.Index 読み取り専用の解決策

以下のようにしてみたら解決しました。

Form.listview1.Items[0].Selected = true;
Form.listview1.Select();

まぁ、なんとなく理解できる仕様です。
親である、Form.listView1.Select() を忘れないで設定することも必要でした。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です