Freigeben über


DataGridView.ProcessDataGridViewKey(KeyEventArgs) Methode

Definition

Verarbeitet Tasten, die zum Navigieren in der DataGridView verwendet werden.

protected:
 virtual bool ProcessDataGridViewKey(System::Windows::Forms::KeyEventArgs ^ e);
protected virtual bool ProcessDataGridViewKey (System.Windows.Forms.KeyEventArgs e);
abstract member ProcessDataGridViewKey : System.Windows.Forms.KeyEventArgs -> bool
override this.ProcessDataGridViewKey : System.Windows.Forms.KeyEventArgs -> bool
Protected Overridable Function ProcessDataGridViewKey (e As KeyEventArgs) As Boolean

Parameter

e
KeyEventArgs

Enthält Informationen über die Taste, die gedrückt wurde.

Gibt zurück

true, wenn die Taste verarbeitet wurde, andernfalls false.

Ausnahmen

Durch die gedrückte Taste würde das Steuerelement in den Bearbeitungsmodus wechseln, aber die EditType-Eigenschaft der aktuellen Zelle gibt keine Klasse an, die von Control abgeleitet wird und IDataGridViewEditingControl implementiert.

Diese Aktion würde einen Zellwert festschreiben oder in den Bearbeitungsmodus wechseln, aber ein Fehler in der Datenquelle verhindert die Aktion, und entweder ist kein Handler für ist das DataError-Ereignis vorhanden, oder der Handler hat die ThrowException-Eigenschaft auf true festgelegt.

- oder -

Durch Drücken der ENTF-TASTE würde mindestens eine Zeile gelöscht, aber ein Fehler in der Datenquelle verhindert den Löschvorgang, und entweder ist kein Handler für ist das DataError-Ereignis vorhanden oder der Handler hat die ThrowException-Eigenschaft auf true festgelegt.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie das Verhalten des ENTER-Schlüssels in einer DataGridView Unterklasse durch Überschreiben der ProcessDataGridViewKey Methoden und ProcessDialogKey geändert wird. Im Beispiel weist die EINGABETASTE das gleiche Verhalten wie die NACH-RECHTS-TASTE auf, sodass ein Benutzer mehrere Zellen in einer einzigen 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

Hinweise

Diese Methode ruft die Schlüsselverarbeitungsmethode auf, die für die gedrückte Taste geeignet ist (z. B. die ProcessF2Key -Methode, wenn F2 gedrückt wird) und gibt den Rückgabewert dieser Methode zurück.

Hinweise für Vererber

Beim Überschreiben dieser Methode sollte ein Steuerelement zurückkehren true , um anzugeben, dass es den Schlüssel verarbeitet hat. Für Schlüssel, die nicht vom Steuerelement verarbeitet werden, geben Sie das Ergebnis der Basisversion dieser Methode zurück.

Gilt für:

Weitere Informationen