DataGridView.ProcessDataGridViewKey(KeyEventArgs) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Bearbetar nycklar som används för att navigera i 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
Parametrar
Innehåller information om den tangent som trycktes på.
Returer
trueom nyckeln har bearbetats. annars . false
Undantag
Den tangent som trycks på gör att kontrollen går in i redigeringsläge, men EditType egenskapen för den aktuella cellen anger inte en klass som härleds från Control och implementerar IDataGridViewEditingControl.
Den här åtgärden skulle checka in ett cellvärde eller ange redigeringsläge, men ett fel i datakällan förhindrar åtgärden och antingen finns det ingen hanterare för DataError händelsen eller så har hanteraren angett ThrowException egenskapen till true.
-eller-
DELETE-nyckeln skulle ta bort en eller flera rader, men ett fel i datakällan förhindrar borttagningen och antingen finns det ingen hanterare för DataError händelsen eller så har hanteraren angett ThrowException egenskapen till true.
Exempel
Följande kodexempel visar hur du ändrar beteendet för RETUR-nyckeln i en DataGridView underklass genom att ProcessDataGridViewKey åsidosätta metoderna och ProcessDialogKey . I exemplet har RETUR-nyckeln samma beteende som HÖGERPIL-tangenten, vilket gör det enklare för en användare att redigera flera celler i en enda rad med data.
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
Kommentarer
Den här metoden anropar den nyckelbearbetningsmetod som är lämplig för den tangent som trycks på (till exempel metoden ProcessF2Key när F2 trycks in) och returnerar returvärdet för den metoden.
Anteckningar till arvingar
När du åsidosätter den här metoden bör en kontroll återgå true för att indikera att den har bearbetat nyckeln. För nycklar som inte bearbetas av kontrollen returnerar du resultatet av basversionen av den här metoden.