【问题标题】:Error InvalidArgument=Value of '1' is not valid for 'index' when trying to add item to listview -- VB尝试将项目添加到列表视图时,错误 InvalidArgument=“1”的值对“索引”无效——VB
【发布时间】:2014-03-14 14:29:27
【问题描述】:

每当我尝试运行以下代码将单行插入我的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,我正在尝试将上面的项目添加到用户创建的每个三角形的每个列中,但我不确定它为什么给我有错误吗?

【问题讨论】:

  • 你可以做lw.Items.Add(CStr(newTri.nextTriID)).SubItems.AddRange(CStr(newTri.sideOne), CStr(newTri.sideTwo), CStr(newTri.sideThree))

标签: vb.net winforms listview


【解决方案1】:

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

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

使用0 的第一个不需要更改,因为它是在创建ListViewItem 的过程中自动创建的

【讨论】:

  • 谢谢,我找不到像这样解释清楚的东西。
猜你喜欢
  • 2017-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-04
  • 2013-03-07
  • 1970-01-01
相关资源
最近更新 更多