selectedrow和currentrow是两个不同的东西,只用户用鼠标选中的时候,selectedrow和currentrow会相同,但你用代码去设置就不同了。通俗点理解current是焦点所在,selected就是选中的。用户选中的话焦点会跟着走,但用代码选中,焦点是不会动的
//为行设置选中之后
// dataGridView1.Rows[selectedRowIndex - 1].Selected = true;
通过.CurrentRow.Index获取行 是0
int selectedRowIndex = dataGridView1.CurrentRow.Index;
解决
//为行设置焦点
dataGridView1.CurrentCell = dataGridView1.Rows[selectedRowIndex-1].Cells[0];