DataGridView.ProcessRightKey(Keys) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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