-2

InvalidArgument=“4”的值对“索引”无效。参数名称:索引

这是我的代码

   if (lvnames.Items.Count > 0)
   {
         for (int x = 0; x < lvScratch.Items.Count; x++)
         {
           **lvnames.Items[x].SubItems[4].Text = lvnamestemp.Items[x].SubItems[0].Text;**
         }
   }
   else
   {

            MessageBox.Show("No Record", "Empty", MessageBoxButtons.OK, MessageBoxIcon.Information);

   }

我的 lvnames.Items 有 4 列,我的 lvnamestemp 有 3 列

当我运行代码时,我在粗体代码上收到错误 InvalidArgument=Value of '4'

4

2 回答 2

1

“我的 lvnames.Items 有 4 列”

但是您正在使用以下代码访问第 5 列:

lvnames.Items[x].SubItems[4]

0 1 2 3 4 (4 是第五项)。

于 2014-04-08T02:25:11.350 回答
0

在 .NET 中,几乎所有数组和集合都是从零开始的。ListView 中的实际列数与 ListViewItem 中的子项数无关;重要的是您添加的子项的数量。通常它们是相同的。如果您有四列,那么您可能添加了四个子项,因此它们将位于索引 0、1、2 和 3。显然 4 不是有效索引。

于 2014-04-08T02:26:18.767 回答