If you need to do anything with the DataGridView then you should keep a copy of the
DataGridView FAQ (*.doc format)[
^],
(*.pdf format)[
^] handy.
In there you will find a solution to your first problem.
myDataGridView.CurrentCell = myDataGridView.Rows[x].Cells[y];
myDataGridView.BeginEdit();
MSDN page for BeginEdit()[
^].
I do not have a solution for your second problem. I do not think that it is possible although someone else might know a way.