2013年6月14日金曜日

DataGridViewでEnter押下時に下に移動じゃなくて右に移動したい [C#]

DataGridViewでEnter押下時に下に移動じゃなくて右に移動したい!!

オーバーライドしなきゃいかんのかな・・・

----------------------------------------------------------------

public class DataGridViewOverride : DataGridView
{
  [System.Security.Permissions.UIPermission(
  System.Security.Permissions.SecurityAction.LinkDemand,
  Window = System.Security.Permissions.UIPermissionWindow.AllWindows)]
  protected override bool ProcessDialogKey(Keys keyData)
  {
    //Enter
    if (keyData == Keys.Enter)
    {
      return base.ProcessDialogKey(Keys.Tab);
    }
    //Enter + シフト
    else if (((keyData & Keys.Shift) == Keys.Shift) &&
    ((keyData & Keys.Enter) == Keys.Enter))
    {
      return base.ProcessDialogKey(Keys.Tab | Keys.Shift);
    }

    return base.ProcessDialogKey(keyData);
  }
}

----------------------------------------------------------------


特定の列は飛ばすとかもこんな感じで何とか


オーバーライドすると複雑になるね・・・


[ ]の部分は無くても動き変わらんからなくてもいぃんかな?