DataGrid 上で Enter キー入力によりカレントセルを移動する方法

  DataGrid 上で Enter キー入力によりカレントセルを移動するには、DataGrid の派生クラスを生成し、「ProcessCmdKey()」メソッドをオーバーライドし、処理内容を記述することで行います。
【使い方】

Enter キーを押した時、次(右)のセルに移動する例です。
/// <summary>
/// キーが押された時呼ばれます。 
/// </summary>
protected override bool ProcessCmdKey(ref Message msg, System.Windows.Forms.Keys keyData)    
{
    //Debug.WriteLine("ProcessCmdKey Start:");

    const int WM_KEYDOWN = 0x100;
    const int WM_SYSKEYDOWN = 0x104;

    if ((msg.Msg == WM_KEYDOWN) || (msg.Msg == WM_SYSKEYDOWN))
    {
        switch(keyData)
        {
            case Keys.Enter:        // Enterキー操作
                //Debug.WriteLine("Enter Captured");
                // 次のセルに移動する為、Tabキーストロークを送ります。
                SendKeys.Send("{Tab}");
                return true;
        }
    }
    return base.ProcessCmdKey(ref msg, keyData);
}
【注意】
戻る