You will probably annoy your users by doing this but this would work
private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Down)
{
textBox1.Focus();
e.Handled = true;
}
}
Note the use of
e.Handled = true;
to stop the key press being processed by the DataGridView (and focus returning to it).
I would advise checking whereabouts you are in the DGV and only move to the next control if the user is on the last row e.g.
private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode != Keys.Down || dataGridView1.CurrentCell.RowIndex != dataGridView1.Rows.Count - 1) return;
textBox1.Focus();
e.Handled = true;
}