[C#] DataGridViewで改行処理のShift+Enterを無効、もしくは別のキーに置き換える

DataGridViewのセルに複数行入力できるように

DefaultCellStyle.WrapMode = DataGridViewTriState.True

を設定した状態でセルのShift+Enterで左セルに移動させようとして嵌った。
(この時点でShift+Enterがセル内改行になっている)
(改行はAlt+Enterでさせるという要件)

WrapModeプロパティにTrueが設定されているとProcessDialogKeyやProcessDataGridViewKeyで
Shift+Enterを捕捉できないんですね。(捕捉できずにセル内改行される)

対応としてはDataGridViewを継承したDataGridViewExを用意し、以下を追加。

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
    Keys keyCode = (keyData & Keys.KeyCode);
    Keys keyModifiers = (keyData & Keys.Modifiers);

    if (keyCode == Keys.Enter && keyModifiers == Keys.Shift)
    {
        // Shift+Enterを無効にする
        return true;
    }

    return base.ProcessCmdKey(ref msg, keyData);
}

これでセルフォーカス中にShift+Enterしても何も起こりません。(改行されない)
別の役割を与えたい場合はDataGridViewのKeyDownイベントなどでShift+Enterを捕捉して処理をする。