DataGridView.ProcessRightKey(Keys) メソッド

定義

→キーを処理します。

protected bool ProcessRightKey (System.Windows.Forms.Keys keyData);

パラメーター

keyData
Keys

処理するキーを表す Keys 値のビットごとの組み合わせ。

戻り値

キーが処理された場合は true。それ以外の場合は false

例外

本来は右矢印キーによってコントロールが編集モードに切り替わるところですが、新しい現在のセルの EditType プロパティは、Control から派生して IDataGridViewEditingControl を実装するクラスを示しません。

この操作を行うと、本来はセル値がコミットされるか、または編集モードに切り替わるところですが、データ ソースのエラーのためにその操作は実行できず、DataError イベントのハンドラーがない状態か、ハンドラーが ThrowException プロパティを true に設定している状態になります。

次のコード例では、 メソッドと ProcessDialogKey メソッドをオーバーライドしてサブクラス内DataGridViewの ENTER キーの動作を変更する方法をProcessDataGridViewKey示します。 この例では、ENTER キーの動作は→キーと同じであるため、ユーザーは 1 行のデータで複数のセルを簡単に編集できます。

public class CustomDataGridView : DataGridView
{
    protected override bool ProcessDialogKey(Keys keyData)
    {
        // Extract the key code from the key value. 
        Keys key = (keyData & Keys.KeyCode);

        // Handle the ENTER key as if it were a RIGHT ARROW key. 
        if (key == Keys.Enter)
        {
            return this.ProcessRightKey(keyData);
        }
        return base.ProcessDialogKey(keyData);
    }

    protected override bool ProcessDataGridViewKey(KeyEventArgs e)
    {
        // Handle the ENTER key as if it were a RIGHT ARROW key. 
        if (e.KeyCode == Keys.Enter)
        {
            return this.ProcessRightKey(e.KeyData);
        }
        return base.ProcessDataGridViewKey(e);
    }
}

適用対象

製品 バージョン
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

こちらもご覧ください