tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル ListViewコントロールの行番号を取得するときにエラーになる
投稿日: 2008/09/03(Wed) 13:41
投稿者pencil
よろしくお願いします。

ListView1_SelectedIndexChangedイベントが起こったときに、その行番号を取得しようとしています。(下記コード)

Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged

        Dim k As Integer
        k = ListView1.SelectedIndices(0) + 1 
        MsgBox(k)

End Sub

1番最初の実行時は行番号を表示しますが、もう一度別の項目を選ぶとエラーになります。

エラー内容:
ArgumentoutofRangeExceptionはハンドルされませんでした。
'0' の InvalidArgument=Value は 'index' に対して有効ではありません。 パラメータ名: index

2行目の代入するところでエラーになります。

ところが、同じ処理を、フォーム上に配置したボタンコントロールより行うと、エラーは出ません。(下記コード)

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Dim k As Integer
        k = ListView1.SelectedIndices(0) + 1
        MsgBox(k)
End Sub

どうしてエラーになってしまうのかわかりません。
よろしくお願いします。

(全コード)
Public Class Form1

    '
    Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged

        Dim k As Integer
        k = ListView1.SelectedIndices(0) + 1
        MsgBox(k)

    End Sub

    'リストビューに項目を設定
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        ListView1.Items.Clear()

        Dim item1() As String = {"リンゴ", "果物", "赤"}
        ListView1.Items.Add(New ListViewItem(item1))
        Dim item2() As String = {"メロン", "果物", "緑"}
        ListView1.Items.Add(New ListViewItem(item2))
        Dim item3() As String = {"ピーマン", "野菜", "緑"}
        ListView1.Items.Add(New ListViewItem(item3))
    End Sub

    'ボタンコントロールを押すと、選択された行の行番号を表示
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim k As Integer
        k = ListView1.SelectedIndices(0) + 1
        MsgBox(k)
    End Sub
    
End Class

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。