DataGridView.ProcessDataGridViewKey(KeyEventArgs) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Processa chaves usadas para navegar no 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
Parâmetros
Contém informações sobre a chave que foi pressionada.
Retornos
true se a chave foi processada; caso contrário, false.
Exceções
A tecla pressionada faria com que o controle entrasse no modo de edição, mas a EditType propriedade da célula atual não indica uma classe que deriva e Control implementa IDataGridViewEditingControl.
Essa ação confirmaria um valor de célula ou entraria no modo de edição, mas um erro na fonte de dados impede a ação e não há nenhum manipulador para o DataError evento ou o manipulador definiu a ThrowException propriedade como true.
-ou-
A chave DELETE excluiria uma ou mais linhas, mas um erro na fonte de dados impede a exclusão e não há nenhum manipulador para o DataError evento ou o manipulador definiu a ThrowException propriedade como true.
Exemplos
O exemplo de código a seguir demonstra como alterar o comportamento da chave ENTER em uma DataGridView subclasse substituindo os métodos e ProcessDialogKey os ProcessDataGridViewKey métodos. No exemplo, a chave ENTER tem o mesmo comportamento que a tecla SETA PARA A DIREITA, facilitando a edição de várias células por um usuário em uma única linha de dados.
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
Comentários
Esse método chama o método de processamento de chave apropriado para a tecla pressionada (por exemplo, o ProcessF2Key método quando F2 é pressionado) e retorna o valor retornado desse método.
Notas aos Herdeiros
Ao substituir esse método, um controle deve retornar true para indicar que ele processou a chave. Para chaves que não são processadas pelo controle, retorne o resultado da versão base desse método.