【问题标题】:Error; Index was out of range. Must be non-negative and less than错误;指数超出范围。必须是非负数且小于
【发布时间】:2012-05-30 10:05:16
【问题描述】:
foreach (TcpConnectionInformation info in tcpConnections)
{
    dataGridView1.Rows[0].Cells[1].Value =info.LocalEndPoint.Address.ToString();
}

我正在使用此代码将值放入 gridview 但发生此错误。

IndexOutOfRangeException - 索引超出范围。必须是非负数且小于 集合。

参数名称:索引

谢谢 问候

【问题讨论】:

  • 调试时哪个索引超出范围?显而易见的猜测是您的 DataGridView 没有行,或者它的第一行少于两个单元格。
  • 你在什么活动上做这个? RowDataBound 是个好地方。您得到的错误必须来自 Rows[0] 或 Cells[1]。这可能是因为它们尚不存在,但这取决于您添加此代码的事件。
  • datagridview 中的 row[0] 不是标题行?
  • 另外,你为什么要用这样的循环设置静态值?只需使用tcpConnections 中的最后一个值,因为无论如何它最终都会如此。循环是完全没有必要的。
  • 当异常被抛出时,您可以查看内部异常以了解您的命令的哪个数组抛出了异常。

标签: c# gridview tcp


【解决方案1】:

index 参数指的是 Rows[0] 或 Cells[1]

请检查您在 dataGridView1 中是否至少有一行,并且第一行至少有 2 个单元格。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-11
    • 1970-01-01
    • 2012-05-15
    相关资源
    最近更新 更多