Same logic as with my last reply, just a different event.
public class PayneDataGridView : DataGridView
{
private bool _firstTime = true;
protected override void OnEnter(EventArgs e)
{
if (DataSource != null)
{
if (_firstTime)
{
CurrentCell = Rows[0].Cells[1];
Timer timer = new Timer();
timer.Interval = 20;
timer.Tick += (ts, te) => {
timer.Stop();
BeginEdit(false);
};
timer.Start();
_firstTime = false;
}
}
}
}