DataGridView.ProcessRightKey(Keys) Methode

Definition

Verarbeitet die NACH-RECHTS-TASTE.

protected:
 bool ProcessRightKey(System::Windows::Forms::Keys keyData);
protected bool ProcessRightKey(System.Windows.Forms.Keys keyData);
member this.ProcessRightKey : System.Windows.Forms.Keys -> bool
Protected Function ProcessRightKey (keyData As Keys) As Boolean

Parameter

keyData
Keys

Eine bitweise Kombination von Keys Werten, die den zu verarbeitenden Schlüssel oder schlüssel darstellen.

Gibt zurück

truewenn der Schlüssel verarbeitet wurde; andernfalls . false

Ausnahmen

Die NACH-RECHTS-TASTE würde dazu führen, dass das Steuerelement in den Bearbeitungsmodus wechselt, aber die EditType Eigenschaft der neuen aktuellen Zelle gibt keine Klasse an, die von Control und implementiert wird IDataGridViewEditingControl.

Diese Aktion würde einen Zellwert übernehmen oder den Bearbeitungsmodus eingeben, aber ein Fehler in der Datenquelle verhindert die Aktion, und entweder gibt es keinen Handler für das DataError Ereignis, oder der Handler hat die ThrowException Eigenschaft auf truefestgelegt.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sie das Verhalten des EINGABETASTE-Schlüssels in einer DataGridView Unterklasse ändern, indem sie die ProcessDataGridViewKey Methoden ProcessDialogKey überschreiben. Im Beispiel weist die EINGABETASTE dasselbe Verhalten wie die NACH-RECHTS-TASTE auf, sodass ein Benutzer mehrere Zellen in einer einzelnen Datenzeile bearbeiten kann.

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

Gilt für:

Weitere Informationen