Auf Englisch lesen

Freigeben über


DataGridView.ProcessDialogKey(Keys) Methode

Definition

Verarbeitet Tasten, z. B. TAB, ESC, die EINGABETASTE und Pfeiltasten, die zum Steuern in Dialogfeldern verwendet werden.

C#
protected override bool ProcessDialogKey(System.Windows.Forms.Keys keyData);

Parameter

keyData
Keys

Eine bitweise Kombination der Keys-Werte, die die zu verarbeitenden Tasten darstellen.

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.

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 hat die EINGABETASTE das gleiche Verhalten wie die NACH-RECHTS-TASTE, sodass ein Benutzer mehrere Zellen in einer einzelnen Datenzeile bearbeiten kann.

C#
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);
    }
}

Hinweise

Diese Methode wird im Bearbeitungsmodus aufgerufen, um Tastatureingaben zu verarbeiten, die nicht vom gehosteten Bearbeitungssteuerelement verarbeitet werden.

Wenn festgestellt wird, dass es sich bei einem Tastendruck nicht um eine Eingabetaste handelt, wird sie zur Verarbeitung an die Basisklasse gesendet.

Hinweise für Vererber

Beim Überschreiben dieser Methode sollte ein Steuerelement zurückgegeben true werden, um anzugeben, dass der Schlüssel verarbeitet wurde. Geben Sie für Schlüssel, die nicht vom Steuerelement verarbeitet werden, das Ergebnis der Basisversion dieser Methode zurück.

Gilt für:

Produkt Versionen
.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, 10

Weitere Informationen