Usuário com melhor resposta
C# setas do teclado nao funcionam no dgv? o que fazer?

Pergunta
-
Respostas
-
consegui resolver.
coloquei no keypress do txtbox caso aperte Enter o dgv recebe o foco;
- Marcado como Resposta TiagoJesusTJS quinta-feira, 13 de outubro de 2016 12:13
Todas as Respostas
-
Olá Tiago,
Por padrão a datagridView já aceita navegação pelas setas do teclado, basta deixar o foco em uma linha ou célula, fora isso você consegue navegar pelas linhas/células. Não está se comportando dessa maneira aí?
Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!
André Secco
Microsoft MSP & MSDN Tech Advisor
Blog: http://andresecco.com.br
GitHub: http://github.com/andreluizsecco
Twitter: @andre_secco -
xiiii o meu nao esta padronizado entao, rsrsrs
Andre de acordo com o que o grid vai sendo preenchido, o foco permanece no txtbox :S
tentei usar:
if (dgvProdutos.Rows.Count > 0)
{
dgvProdutos.Rows[1].Selected = this.Focus();
}nem assim deu certo com as teclas.
-
Se você clicar em uma célula ou linha do grid preenchido, você consegue mover a seleção para outra linha usando o teclado?
Seu código não faz sentido. Se quer que o grid receba foco num evento do textbox ou algum botão de pesquisa, o que você precisa é usar dgvProdutos.Focus(); apenas.
If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer". Se achou este post útil, por favor clique em "Votar como útil". Se por um acaso respondeu sua dúvida, lembre de "Marcar como Resposta".
- Sugerido como Resposta Juliano Nunes Silva Oliveira quinta-feira, 13 de outubro de 2016 12:53
-
Amigo eu nao quero clicar no gird, eu quero que ele receba o foco, para eu usar direto o teclado, sem o mouse, entendeu?
mas de acordo com o que o grid vai sendo preenchido, o foco permanece no txtbox- Editado TiagoJesusTJS quinta-feira, 13 de outubro de 2016 12:07
-
Muito estranho, sem usar código nenhum, apenas clicando com o mouse sobre qualquer célula e navegando pelo teclado funciona perfeitamente aqui. Você está usando algo diferente aí nessa datagrid? Personalizou ela de alguma forma?
Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!
André Secco
Microsoft MSP & MSDN Tech Advisor
Blog: http://andresecco.com.br
GitHub: http://github.com/andreluizsecco
Twitter: @andre_secco -
consegui resolver.
coloquei no keypress do txtbox caso aperte Enter o dgv recebe o foco;
- Marcado como Resposta TiagoJesusTJS quinta-feira, 13 de outubro de 2016 12:13
-
Amigo eu nao quero clicar no gird, eu quero que ele receba o foco, para eu usar direto o teclado, sem o mouse, entendeu?
mas de acordo com o que o grid vai sendo preenchido, o foco permanece no txtbox
Meu caro, você não entendeu. Se você clicar no conteúdo do grid e conseguir movimentar a seleção com o teclado, significa que o título da sua pergunta está equivocado.
Para dar foco no grid após algum evento basta usar o código que falei acima. Você pode criar um event handler para o evento DataBindingComplete do DataGridView e usar o dgvProdutos.Focus() para tirar o foco do TextBox e passar para o DataGridView.
If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer". Se achou este post útil, por favor clique em "Votar como útil". Se por um acaso respondeu sua dúvida, lembre de "Marcar como Resposta".