Yes, the whole design of this control and documentation is a bit misleading. Try to set
CurrentCell
instead:
dataGridView1.CurrentCell = dataGridView1.Rows[nRowIndex].Cells[0];
It will give you desired effect on selection, even if you use the selection mode to select entire row. The problem you faced was due to the fact that the cell is considered to be a real object of selection in all cases, not a row. To me, it looks like some API inconsistency. Anyway, try it.
By the way, don't use the names like
dataGridView1
, this is violation of Microsoft naming conventions. Yes, the name is created by Microsoft Designer, but who said you can keep this names? All members should be renamed semantically; re-factorization engine is your friend.
—SA