【问题标题】:Account List View Index Out of Range帐户列表视图索引超出范围
【发布时间】:2013-11-14 11:20:51
【问题描述】:

这是我的代码

 int totallikes = 2;
 int currentrep = 0;
 while (currentrep < totallikes)
   {
        string user = accounrLlistview.Items[currentrep].text;
        string pass = accounrLlistview.Items[currentrep].SubItems[1].text;
        //code to do whatever
        currentrep = currentrep + 1;
   }

列表视图由用户在此按钮单击运行之前创建。

我有一个带有用户名密码和 ID 的列表视图框,有 2 个集合。
user1 pass1 id1
user2 pass2 id2

我正在尝试获取 user2

它第一次工作,但在第二次循环时我得到了错误, InvalidArgument=“1”的值对“索引”无效。 参数名称:索引

是的,我试图拉起的东西里有写

【问题讨论】:

  • 有可能当 currentrep 为 1 时,SubItems 中没有第二项。调试并监视该集合,看看里面有什么。
  • 错误发生在字符串 user = accounrLlistview.Items[currentrep].text;并且该项目不是空白的。
  • Listview 中有多少项?
  • 列表视图中有 2 项

标签: c# listview indexing


【解决方案1】:

使用Items.Count 属性确定ListView 中的项目数,例如:

while (currentrep < accountListview.Items.Count)
{
    string user = accounrLlistview.Items[currentrep].text;
    string pass = accounrLlistview.Items[currentrep].SubItems[1].text;
    //code to do whatever
    currentrep = currentrep + 1;
}

如果它通过第一次遍历,那么accounrLlistview.Items[currentrep].SubItems[1].text 中的index '1' 不是问题。最有可能的是currentrep,这是Items[] 的索引。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-16
    • 2011-06-14
    • 2016-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多