listViewの選択について – プログラミング – Home

通知
すべてクリア

[解決済] listViewの選択について


ゆう
 ゆう
(@ゆう)
ゲスト
結合: 23年前
投稿: 114
Topic starter  

開発環境:
win xp sp2
Microsoft Visual Studio 2005
C# windowsアプリケーション

listViewにプロパティからColumnsを4つ追加しました。

追加したカラムにボタンが押されたら文字列を代入としています。

private void btn_Click()
{
ListViewItem LI = new ListViewItem();
LI = listView1.Items.Add(A+i);
LI.SubItems.Add(B+i);
LI.SubItems.Add(C+i);
LI.SubItems.Add(D+i);
i++;
}

listView1に表示された文字を選択した時に
何番が選択されたかを取得する為に下記のようにして
取得しているのですが
int idx = listView1.SelectedItems[0].Index;

2回目にカラムを選択すると下記のエラーが出て
強制終了してしまいます。
//***********************************************************
System.ArgumentOutOfRangeException' のハンドルされていない例外が
System.Windows.Forms.dll で発生しました。

追加情報: '0' の InvalidArgument=Value は 'index' に対して有効ではありません。
//***********************************************************

なぜエラーが出てしまうのか判りません。
Indexの取得方法が違うのでしょうか?

知っている方いましたら
ご教授お願い致します。


引用未解決
トピックタグ
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

> int idx = listView1.SelectedItems[0].Index;
のように0固定で使う前に、ちゃんと選択されているアイテムが1つ以上あるか
確認してみてはどうでしょうか?

ind idx;
if (listView1.SelectedImtes.Count > 0)
{
idx = listView1.SelectedItems[0].Index;
}


返信引用
ゆう
 ゆう
(@ゆう)
ゲスト
結合: 23年前
投稿: 114
Topic starter  

Blueさんの仰ったとおりに実装したところ
エラーが起きなくなりました。

ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました