protected override void OnKeyDown(KeyEventArgs e)
{
// Cause edit mode to begin since edit mode is disabled to support
// expanding/collapsing
base.OnKeyDown(e);
if (!e.Handled)
{
if (e.KeyCode == Keys.F2 && this.CurrentCellAddress.X > -1 && this.CurrentCellAddress.Y >-1)
{
if (!this.CurrentCell.Displayed)
{
this.FirstDisplayedScrollingRowIndex = this.CurrentCellAddress.Y;
}
else
{
// TODO:calculate if the cell is partially offscreen and if so scroll into view
}
this.SelectionMode = DataGridViewSelectionMode.CellSelect;
this.BeginEdit(true);
}
else if (e.KeyCode == Keys.Enter && !this.IsCurrentCellInEditMode)
{
this.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
this.CurrentCell.OwningRow.Selected = true;
}
}
}