DataGridView.ProcessDataGridViewKey(KeyEventArgs) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Verarbeitet Schlüssel, die für die Navigation in der DataGridViewDatei 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
Enthält Informationen zu der taste, die gedrückt wurde.
Gibt zurück
truewenn der Schlüssel verarbeitet wurde; andernfalls . false
Ausnahmen
Die gedrückte Taste würde dazu führen, dass das Steuerelement in den Bearbeitungsmodus wechselt, aber die EditType Eigenschaft der 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.
-oder-
Der ENTF-Schlüssel würde eine oder mehrere Zeilen löschen, aber ein Fehler in der Datenquelle verhindert das Löschen, 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
Hinweise
Diese Methode ruft die taste-processing-Methode 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ückgegeben werden true , um anzugeben, dass er den Schlüssel verarbeitet hat. Geben Sie für Schlüssel, die nicht vom Steuerelement verarbeitet werden, das Ergebnis der Basisversion dieser Methode zurück.