DataGridView.ProcessDataGridViewKey(KeyEventArgs) Metod

Definition

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

e
KeyEventArgs

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.

Gäller för

Se även