我有一个 C# winforms 应用程序,我试图让一个按钮工作,该按钮将在当前选择的一行之后选择 datagridview 中的下一行。

我到目前为止的代码是:

private void button4_Click(object sender, EventArgs e)
{
  try
  {
    Int32 selectedRowCount = dataGridView1.Rows.GetRowCount(DataGridViewElementStates.Selected);

    // index out of range on this line
    dataGridView1.Rows[dataGridView1.SelectedRows[selectedRowCount].Index].Selected = true;

    dataGridView1.FirstDisplayedScrollingRowIndex = selectedRowCount + 1;
  }
  catch (Exception ex)
  {
    return;
  }

但是在运行它时会引发异常。谁能指出我可能出错的地方。抛出的错误是:Index is out of range

最佳答案

试试这个:

 int nRow;
private void Form1_Load(object sender, EventArgs e)
{

    nRow = dataGridView1.CurrentCell.RowIndex;
}

private void button1_Click(object sender, EventArgs e)
{
    if (nRow < dataGridView1.RowCount )
    {
        dataGridView1.Rows[nRow].Selected = false;
        dataGridView1.Rows[++nRow].Selected = true;
    }
}

关于c# - DataGridView 导航到下一行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11158044/

10-09 07:20