DataGridView.ProcessRightKey(Keys) Methode

Definitie

Hiermee wordt de toets PIJL-RECHTS verwerkt.

protected:
 bool ProcessRightKey(System::Windows::Forms::Keys keyData);
protected bool ProcessRightKey(System.Windows.Forms.Keys keyData);
member this.ProcessRightKey : System.Windows.Forms.Keys -> bool
Protected Function ProcessRightKey (keyData As Keys) As Boolean

Parameters

keyData
Keys

Een bitsgewijze combinatie van Keys waarden die de sleutel of sleutels vertegenwoordigt die moeten worden verwerkt.

Retouren

true indien de sleutel is verwerkt; anders, false.

Uitzonderingen

Met de toets PIJL-RECHTS wordt het besturingselement in de bewerkingsmodus geactiveerd, maar de EditType eigenschap van de nieuwe huidige cel geeft geen klasse aan die is afgeleid van Control en implementeert IDataGridViewEditingControl.

Met deze actie wordt een celwaarde doorgevoerd of wordt de bewerkingsmodus geactiveerd, maar een fout in de gegevensbron voorkomt de actie en er is geen handler voor de DataError gebeurtenis of de handler heeft de ThrowException eigenschap ingesteld op true.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u het gedrag van de ENTER-sleutel in een DataGridView subklasse wijzigt door de ProcessDataGridViewKey en ProcessDialogKey methoden te overschrijven. In het voorbeeld heeft de ENTER-toets hetzelfde gedrag als de toets PIJL-RECHTS, waardoor een gebruiker gemakkelijker meerdere cellen in één rij met gegevens kan bewerken.

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

Van toepassing op

Zie ook