Padrão de teclado e Mouse Handling in Windows Forms DataGridView Control

As tabelas a seguintes descrevem como os usuários podem interagir com o DataGridView controle através de um teclado e mouse.

ObservaçãoObservação

Para personalizar o comportamento do teclado, você pode manipular eventos de teclado padrão, como KeyDown. No modo de edição, no entanto, o controle de edição hospedado recebe a entrada do teclado e não ocorrem os eventos de teclado para o DataGridView de controle. Para manipular eventos de controle de edição, anexar seus manipuladores para o controle de edição em um EditingControlShowing manipulador de eventos. Como alternativa, você pode personalizar o comportamento do teclado em uma DataGridView subclasse, substituindo o ProcessDialogKey e ProcessDataGridViewKey métodos.

Manipulação de teclado padrão

Teclas de navegação e entrada básicas

Tecla ou combinação de

Descrição

SETA PARA BAIXO

Move o foco para a célula diretamente abaixo da célula atual. Se o foco estiver na última linha, não faz nada.

SETA À ESQUERDA

Move o foco para a célula anterior na linha. Se o foco estiver na primeira célula na linha, não faz nada.

SETA À DIREITA

Move o foco para a próxima célula na linha. Se o foco estiver na última célula na linha, não faz nada.

SETA PARA CIMA

Move o foco para a célula diretamente acima da célula atual. Se o foco estiver na primeira linha, não faz nada.

HOME

Move o foco para a primeira célula na linha atual.

END

Move o foco para a última célula na linha atual.

PAGE DOWN

Rola para baixo, o controle pelo número de linhas que são totalmente exibidos. Move o foco para a última linha exibida totalmente sem alterar as colunas.

PAGE UP

Rola o controle para cima pelo número de linhas que são totalmente exibidos. Move o foco para a primeira linha exibida sem alterar as colunas.

TAB

Se o StandardTab valor da propriedade é false, move o foco para a próxima célula na linha atual. Se o foco estiver na última célula da linha, move o foco para a primeira célula na linha seguinte. Se o foco estiver na última célula no controle, move o foco para o próximo controle na ordem de tabulação do recipiente pai.

Se o StandardTab valor da propriedade é true, move o foco para o próximo controle na ordem de tabulação do recipiente pai.

SHIFT + TAB

Se o StandardTab valor da propriedade é false, move o foco para a célula anterior na linha atual. Se o foco estiver na primeira célula da linha, move o foco para a última célula na linha anterior. Se o foco estiver na primeira célula no controle, move o foco para o controle anterior na ordem de tabulação do recipiente pai.

Se o StandardTab valor da propriedade é true, move o foco para o controle anterior na ordem de tabulação do recipiente pai.

CTRL + TAB.

Se o StandardTab valor da propriedade é false, move o foco para o próximo controle na ordem de tabulação do recipiente pai.

Se o StandardTab valor da propriedade é true, move o foco para a próxima célula na linha atual. Se o foco estiver na última célula da linha, move o foco para a primeira célula na linha seguinte. Se o foco estiver na última célula no controle, move o foco para o próximo controle na ordem de tabulação do recipiente pai.

CTRL + SHIFT + TAB.

Se o StandardTab valor da propriedade é false, move o foco para o controle anterior na ordem de tabulação do recipiente pai.

Se o StandardTab valor da propriedade é true, move o foco para a célula anterior na linha atual. Se o foco estiver na primeira célula da linha, move o foco para a última célula na linha anterior. Se o foco estiver na primeira célula no controle, move o foco para o controle anterior na ordem de tabulação do recipiente pai.

CTRL + SETA.

Move o foco para a célula mais distante na direção da seta.

CTRL + HOME

Move o foco para a primeira célula no controle.

CTRL + END

Move o foco para a última célula no controle.

CTRL + PAGE DOWN/UP.

Mesmo que PAGE DOWN ou PAGE UP.

F2

Coloca a célula atual em modo de edição da célula, se o EditMode valor da propriedade é EditOnF2 ou EditOnKeystrokeOrF2.

F4

Se a célula atual for uma DataGridViewComboBoxCell, coloca a célula em modo de edição e exibe a lista drop-down.

ALT + SETA PARA CIMA / BAIXO

Se a célula atual for uma DataGridViewComboBoxCell, coloca a célula em modo de edição e exibe a lista drop-down.

Espaço

Se a célula atual for uma DataGridViewButtonCell, DataGridViewLinkCell, ou DataGridViewCheckBoxCell, eleva a CellClick e CellContentClick eventos. Se a célula atual for uma DataGridViewButtonCell, também pressiona o botão. Se a célula atual for uma DataGridViewCheckBoxCell, também altera o estado de seleção.

ENTER

Confirma as alterações para a célula atual e a linha e move o foco para a célula diretamente abaixo da célula atual. Se o foco estiver na última linha, confirma as alterações sem mover o foco.

ESC

Se o controle estiver no modo de edição, cancela a edição. Se o controle não estiver no modo de edição, reverte quaisquer alterações que foram feitas para a linha atual se o controle está vinculado a uma fonte de dados que ofereça suporte a edição ou modo virtual foi implementado com o escopo de confirmação de nível de linha.

BACKSPACE

Exclui o caractere antes do ponto de inserção ao editar uma célula.

DELETE

Exclui o caractere após o ponto de inserção ao editar uma célula.

CTRL+ENTER

Confirma as alterações para a célula atual sem mover o foco. Também confirma as alterações para a linha atual se o controle está vinculado a uma fonte de dados que suporta o modo de edição ou virtual foi implementada com nível de linha escopo de confirmação.

CTRL + 0

Insere um DBNull.Value valor para a célula atual, se a célula pode ser editada. Por padrão, a exibição do valor para um DBNull o valor de célula é o valor da NullValue propriedade da DataGridViewCellStyle em vigor para a célula atual.

Chaves de seleção

Se o MultiSelect for definida como false e o SelectionMode for definida como CellSelect, alterando a célula atual usando as alterações de teclas de navegação a seleção para a nova célula. O SHIFT, CTRL e ALT chaves não afetam esse comportamento.

Se o SelectionMode é definida como RowHeaderSelect ou ColumnHeaderSelect, o mesmo comportamento ocorre, mas com as seguintes adições.

Tecla ou combinação de

Descrição

SHIFT + BARRA DE ESPAÇOS

Seleciona a linha ou coluna inteira (o mesmo que clicar no cabeçalho de linha ou coluna).

chave de navegação (tecla de seta, página superiores/inferiores, HOME, END)

Se uma linha ou coluna inteira estiver selecionada, alterando a célula atual para uma nova linha ou coluna move a seleção para o total de nova linha ou coluna (dependendo do modo de seleção).

Se MultiSelect for definido como false e SelectionMode for definido como FullRowSelect ou FullColumnSelect, alterando a célula atual para uma nova linha ou coluna usando o teclado move a seleção completa de nova linha ou coluna. O SHIFT, CTRL e ALT chaves não afetam esse comportamento.

Se MultiSelect for definido como true, não altera o comportamento de navegação, mas a navegação com o teclado enquanto pressiona a tecla SHIFT (incluindo CTRL + SHIFT) irá modificar uma seleção de fórmulas. Antes de inicia a navegação, o controle marca a célula atual como uma célula de âncora. Quando você navegar enquanto pressiona a tecla SHIFT, a seleção inclui todas as células entre a célula de âncora e a célula atual. Outras células no controle permanecerá selecionadas se eles já foram selecionados, mas eles podem se tornar não selecionados se a navegação do teclado coloca temporariamente entre a célula de âncora e a célula atual.

Se MultiSelect for definido como true e SelectionMode for definido como FullRowSelect ou FullColumnSelect, o comportamento da célula de âncora e a célula atual é o mesmo, mas apenas completas linhas ou colunas se tornam marcadas ou desmarcadas.

Manipulação de Mouse padrão

Manipulação básica do Mouse

ObservaçãoObservação

Clicar uma célula com o botão esquerdo do mouse sempre altera a célula atual. Clicando em uma célula com o botão direito do mouse abre um menu de atalho, quando disponível.

Ação do mouse

Descrição

Botão esquerdo do mouse para baixo

Torna a célula clicada a célula atual e eleva o DataGridView.CellMouseDown de evento.

Botão esquerdo do mouse para cima

Eleva o DataGridView.CellMouseUp eventos

Clique do botão esquerdo do mouse

Eleva o DataGridView.CellClick e DataGridView.CellMouseClick eventos

O botão esquerdo do mouse pressionado e arraste em uma célula de cabeçalho de coluna

Se o DataGridView.AllowUserToOrderColumns é a propriedade true, que move a coluna para que ele pode ser descartado em uma nova posição.

Seleção de mouse

Nenhum comportamento de seleção está associado com o botão do meio do mouse ou a roda do mouse.

Se o MultiSelect for definida como false e o SelectionMode for definida como CellSelect, ocorre o seguinte comportamento.

Ação do mouse

Descrição

Clique o botão esquerdo do mouse

Seleciona apenas a célula atual, se o usuário clica em uma célula. Nenhum comportamento de seleção se o usuário clica em um cabeçalho de linha ou coluna.

Clique o botão direito do mouse

Exibe um menu de atalho, se houver uma disponível.

O mesmo comportamento ocorre quando o SelectionMode é definida como RowHeaderSelect ou ColumnHeaderSelect, exceto que, dependendo do modo de seleção, clicar em um cabeçalho de linha ou coluna irá selecionar a linha ou coluna inteira e defina a célula atual para a primeira célula na linha ou coluna.

Se SelectionMode for definido como FullRowSelect ou FullColumnSelect, clicando em qualquer célula em uma linha ou coluna irá selecionar a linha de total ou de coluna.

Se MultiSelect for definido como true, clicando em uma célula enquanto pressionando CTRL ou SHIFT irá modificar uma seleção de fórmulas.

Quando você clica em uma célula, a tecla CTRL Pressionada, a célula alterar o estado de seleção enquanto todas as outras células mantêm o estado da seleção atual.

Quando você clica em uma célula ou uma série de células enquanto pressiona a tecla SHIFT, a seleção inclui todas as células entre a célula atual e uma célula de âncora localizado na posição da célula atual antes do primeiro clique. Quando você clica e arrasta o ponteiro por várias células, a célula de âncora é a célula clicada no início da operação de arrastar. Cliques subseqüentes ao pressionar SHIFT altera a célula atual, mas não a célula de âncora. Outras células no controle permanecerá selecionadas se eles já foram selecionados, mas eles podem se tornar não selecionados se a navegação de mouse coloca temporariamente entre a célula de âncora e a célula atual.

Se MultiSelect for definido como true e SelectionMode for definido como RowHeaderSelect ou ColumnHeaderSelect, clicar em um cabeçalho de linha ou coluna (dependendo do modo de seleção), enquanto pressiona a tecla SHIFT modificará uma seleção existente de linhas inteiras ou se uma seleção de colunas existe. Caso contrário, ele limpa a seleção e iniciar uma nova seleção de completas linhas ou colunas. A tecla CTRL Pressionada, clicar em um cabeçalho de linha ou coluna, no entanto, irá adicionar ou remover a coluna ou linha clicada da seleção atual sem caso contrário, modificando a seleção atual.

Se MultiSelect for definido como true e SelectionMode for definido como FullRowSelect ou FullColumnSelect, clicando em uma célula enquanto pressiona a tecla SHIFT ou CTRL se comporta da mesma forma, exceto que completa somente linhas e colunas são afetadas.

Consulte também

Referência

DataGridView

Outros recursos

Controle DataGridView (Windows Forms)