0

我有这段代码,我想在某个列中添加文本,而所有其他列都保持原样。但是,当我将 SubItems 的索引从 0 增加到 1 或 2 时,它给了我一个错误,上面写着:

System.Windows.Forms.dll 中出现“System.ArgumentOutOfRangeException”类型的未处理异常

附加信息:InvalidArgument=“1”的值对“索引”无效。

这是我的代码:

if (flag == false)
{
    string period = txt_gradingPeriod.Text;
    string numeric = txt_numValue.Text;
    int cell = 0;
    
    if (period == "1st") { cell = 1; }
    else if (period == "2nd") { cell = 2; }
    else if (period == "3rd") { cell = 3; }
    else if (period == "4th") { cell = 4; }
    
    foreach (ColumnHeader header in listView1.Columns)
    {
        if (header.Text == period)
        {
            listView1.Items[0].SubItems[cell].Text = numeric;
            break;
        }
    }
}
4

1 回答 1

1

我冒险猜测您的 ListViewer 尚未分配所有项目。您在哪里填充 ListViewer,它是否有超过 1 个项目?如果不是,那么这将引发您看到的错误。

发布为答案,因为我无法发表评论。

于 2015-07-21T13:45:19.407 回答