C#Datagridview索引超出范围

C#Datagridview索引超出范围,c#,datagridview,C#,Datagridview,在c#windows窗体应用程序中,有一个删除按钮,用于删除窗体前面的用户名。虽然它运行良好,如果用户位于列表顶部,则会删除该用户,但如果我想删除介于两者之间的任何用户,则会显示索引超出范围。请告知。多谢各位 代码如下: private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { var sendergrid = (DataGridView)sender; if

在c#windows窗体应用程序中,有一个删除按钮,用于删除窗体前面的用户名。虽然它运行良好,如果用户位于列表顶部,则会删除该用户,但如果我想删除介于两者之间的任何用户,则会显示索引超出范围。请告知。多谢各位

代码如下:

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
    var sendergrid = (DataGridView)sender;
    if (sendergrid.Columns[e.ColumnIndex] is DataGridViewButtonColumn && e.RowIndex >= 0)
    {
         Db.getInstance().deleteUser(dataGridView1[e.RowIndex, 0].Value.ToString());                
    }
    refresh();
}
一个图像是带有删除按钮的windows窗体,另一个是例外

有关更多信息,请参见图片

您的问题在于:

dataGridView1[e.RowIndex, 0].Value.ToString()
第一个索引应该是列,因此将其更改为:

dataGridView1[0,e.RowIndex].Value.ToString()
或者,您可以使用:

 dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString()