DataGridView.ProcessDataGridViewKey(KeyEventArgs) DataGridView.ProcessDataGridViewKey(KeyEventArgs) DataGridView.ProcessDataGridViewKey(KeyEventArgs) DataGridView.ProcessDataGridViewKey(KeyEventArgs) Method

Definition

Verarbeitet Tasten, die zum Navigieren in der DataGridView verwendet werden.Processes keys used for navigating in the DataGridView.

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 KeyEventArgs KeyEventArgs KeyEventArgs

Enthält Informationen über die Taste, die gedrückt wurde.Contains information about the key that was pressed.

Gibt zurück

true, wenn die Taste verarbeitet wurde, andernfalls false.true if the key was processed; otherwise, 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.The key pressed would cause the control to enter edit mode, but the EditType property of the current cell does not indicate a class that derives from Control and implements IDataGridViewEditingControl.

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.This action would commit a cell value or enter edit mode, but an error in the data source prevents the action and either there is no handler for the DataError event or the handler has set the ThrowException property to true.

- oder --or- 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.The DELETE key would delete one or more rows, but an error in the data source prevents the deletion and either there is no handler for the DataError event or the handler has set the ThrowException property to true.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie das Verhalten der EINGABETASTE in einer DataGridView Unterklasse geändert wird, indem die-Methode und die ProcessDataGridViewKey - ProcessDialogKey Methode überschrieben werden.The following code example demonstrates how to change the behavior of the ENTER key in a DataGridView subclass by overriding the ProcessDataGridViewKey and ProcessDialogKey methods. In diesem Beispiel hat die EINGABETASTE das gleiche Verhalten wie die nach-rechts-Taste, sodass ein Benutzer mehrere Zellen in einer einzelnen Daten Zeile leichter bearbeiten kann.In the example, the ENTER key has the same behavior as the RIGHT ARROW key, making it easier for a user to edit multiple cells in a single row of data.

public class CustomDataGridView : DataGridView
{
    [System.Security.Permissions.UIPermission(
        System.Security.Permissions.SecurityAction.LinkDemand,
        Window = System.Security.Permissions.UIPermissionWindow.AllWindows)]
    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);
    }

    [System.Security.Permissions.SecurityPermission(
        System.Security.Permissions.SecurityAction.LinkDemand, Flags = 
        System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)]
    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üssel Verarbeitungsmethode auf, die für den gedrückten Schlüssel geeignet ist ( ProcessF2Key z. b. die Methode, wenn F2 gedrückt wird), und gibt den Rückgabewert dieser Methode zurück.This method calls the key-processing method appropriate to the key pressed (for example, the ProcessF2Key method when F2 is pressed) and returns the return value of that method.

Hinweise für Vererber

Beim Überschreiben dieser Methode sollte ein Steuerelement true zurückgeben, um anzugeben, dass es den Schlüssel verarbeitet hat.When overriding this method, a control should return true to indicate that it has processed the key. Bei Schlüsseln, die nicht vom-Steuerelement verarbeitet werden, wird das Ergebnis der Basisversion dieser Methode zurückgegeben.For keys that are not processed by the control, return the result of the base version of this method.

Sicherheit

SecurityPermission
zum Aufrufen von nicht verwaltetem Code.for calling unmanaged code. Anforderungs Wert: LinkDemand.Demand value: LinkDemand. Berechtigungs Wert:UnmanagedCodePermission value: UnmanagedCode

Gilt für:

Siehe auch