错误InvalidArgument =尝试将项目添加到listview时,值'1'对'index'无效 - VB

时间:2014-02-15 02:43:55

标签: vb.net winforms listview

每当我尝试运行以下代码以在我的listview中插入一行时,我会收到错误"InvalidArgument=Value of '1' is not valid for 'index'"....

            Dim item As New ListViewItem
            With item
                .SubItems(0).Text = CStr(newTri.nextTriID)
                .SubItems(1).Text = CStr(newTri.sideOne)
                .SubItems(2).Text = CStr(newTri.sideTwo)
                .SubItems(3).Text = CStr(newTri.sideThree)
            End With
            lstTris.Items.Add(item)

我的listview有列 - 为它指定了TriangleID,SideOne,SideTwo和SideThree,我正在尝试将上面的项目添加到用户创建的每个三角形的每个相应列中,但我不确定它为什么是给我一个错误?

1 个答案:

答案 0 :(得分:2)

虽然ListView有列,ListViewItem本身不会自动获取这些列。相反,你必须一次添加一个。将.SubItems的最后3次使用更改为以下

.SubItems.Add(CStr(newTri.sideOne))
.SubItems.Add(CStr(newTri.sideTwo))
.SubItems.Add(CStr(newTri.sideThree))

使用0的第一个不需要更改,因为它是作为创建ListViewItem

的一部分自动创建的