DataGridView.ProcessRightKey(Keys) 方法     
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
处理向右键。
protected:
 bool ProcessRightKey(System::Windows::Forms::Keys keyData);protected bool ProcessRightKey (System.Windows.Forms.Keys keyData);member this.ProcessRightKey : System.Windows.Forms.Keys -> boolProtected Function ProcessRightKey (keyData As Keys) As Boolean参数
返回
如果已处理该键,则为 true;否则为 false。
例外
“向右箭头”键将导致该控件进入编辑模式,但当前新的单元格的 EditType 属性不指示派生自 Control 并实现 IDataGridViewEditingControl 的类。
此操作将提交一个单元格值或者进入编辑模式,但是数据源中的错误禁止执行此操作,DataError 事件没有处理程序,或者处理程序已将 ThrowException 属性设置为 true。
示例
下面的代码示例演示如何通过重写 ProcessDataGridViewKey 和 ProcessDialogKey 方法来更改子类中 DataGridView Enter 键的行为。 在此示例中,Enter 键的行为与向右键相同,使用户能够更轻松地编辑单行数据中的多个单元格。
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);
    }
}
Public Class CustomDataGridView
    Inherits DataGridView
    <System.Security.Permissions.UIPermission( _
        System.Security.Permissions.SecurityAction.LinkDemand, _
        Window:=System.Security.Permissions.UIPermissionWindow.AllWindows)> _
    Protected Overrides Function ProcessDialogKey( _
        ByVal keyData As Keys) As Boolean
        ' Extract the key code from the key value. 
        Dim key As Keys = keyData And Keys.KeyCode
        ' Handle the ENTER key as if it were a RIGHT ARROW key. 
        If key = Keys.Enter Then
            Return Me.ProcessRightKey(keyData)
        End If
        Return MyBase.ProcessDialogKey(keyData)
    End Function
    <System.Security.Permissions.SecurityPermission( _
        System.Security.Permissions.SecurityAction.LinkDemand, Flags:= _
        System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)> _
    Protected Overrides Function ProcessDataGridViewKey( _
        ByVal e As System.Windows.Forms.KeyEventArgs) As Boolean
        ' Handle the ENTER key as if it were a RIGHT ARROW key. 
        If e.KeyCode = Keys.Enter Then
            Return Me.ProcessRightKey(e.KeyData)
        End If
        Return MyBase.ProcessDataGridViewKey(e)
    End Function
End Class