[英]C#: ArgumentOutOfRangeException was unhandled by usercode
[英]ArgumentOutOfRangeException was Unhandled C# error
InvalidArgument='4' 的值对 'index' 无效。 参数名称:索引
这是我的代码
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'
“我的 lvnames.Items 有 4 列”
但是您正在使用以下代码访问第 5 列:
lvnames.Items[x].SubItems[4]
0 1 2 3 4(4 是第五项)。
.NET 中几乎所有数组和集合都是从零开始的。 ListView 中的实际列数与 ListViewItem 中的子项数无关; 重要的是您添加的子项数。 但通常它们是相同的。 如果您有四列,那么您可能添加了四个子项,因此它们将位于索引 0、1、2 和 3 处。显然 4 那时不是有效索引。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.