我在Form_Activated事件中有一个winforms屏幕和下面的代码。
if (genlGrid1.Rows.Count > 0 && genlGrid1.Rows.Count <= genlGridIndex + 1 && (genlGridIndex >= 0 && genlGridIndex < 2))
{
//Looks like below line is where exception occurs
genlGrid1.Rows[genlGridIndex].Cells[0].Selected = true;
}
我很确定在执行这行代码时,网格有2行9个单元格。
执行此行代码时,我收到以下错误。不知道电网发生了什么。什么是SetCurrentCellAddressCore以及为什么我们得到这个异常?
有人可以帮忙吗?
System.ArgumentOutOfRangeException: 指定的论点不合时宜 有效值范围。参数名称: columnIndex at System.Windows.Forms.DataGridView.SetCurrentCellAddressCore(的Int32 columnIndex,Int32 rowIndex,Boolean setAnchorCellAddress,Boolean validateCurrentCell,Boolean 通过鼠标点击) System.Windows.Forms.DataGridView.SetSelectedCellCoreInternal(的Int32 columnIndex,Int32 rowIndex,Boolean 选中) System.Windows.Forms.DataGridViewCell.set_Selected(布尔 值)
答案 0 :(得分:0)
应该是
if (genlGrid1.Rows.Count > 0 &&
genlGrid1.Rows.Count >= genlGridIndex + 1 &&
(genlGridIndex >= 0 && genlGridIndex < 2))
{
genlGrid1.Rows[genlGridIndex].Cells[0].Selected = true;
}
注意genlGrid1.Rows.Count >= genlGridIndex + 1