none
Como dar focus em datagrid ao abrir form? RRS feed

  • Pergunta

  • Galera, to com um projeto de um menu feito com datagrid acessando o banco de dados... o Menu funcionou perfeitamente, porém estou com um problema na chamada do form em que esse menu está...

    Estou chamando ele como sendo controlado pelo form anterior, para que ele não saia da janela do outro, e ao fazer isso, o Datagrid não pega o focus do teclado, me obrigando a apertar mais de uma vez as setas para mexer nele.

    o codigo de chamada do form é esse:

    private void MostraMenu() { formMenu oFormMenu = new formMenu(); oFormMenu.TopLevel = false;

    oFormMenu.Visible = true; this.Controls.Add(oFormMenu); oFormMenu.Location = new Point(20, 70); }


    O que acontece é o seguinte:

    Se eu chamo o form pelo Show ou Showdialog, instantaneamente quando o form abre, o focus já está no datagrid, então posso simplesmente mexer com as setas do teclado e ele responde.

    Se eu chamo o form com esse código, para ele não sair de dentro do form anterior, o focus não fica no datagrid, então tenho que apertar alguma seta uma vez, para o focus entrar, e só então posso mexer no datagrid...

    Tem alguma forma de resolver isso?


    • Editado MacB0yBR quinta-feira, 28 de janeiro de 2016 11:34
    quinta-feira, 28 de janeiro de 2016 11:31

Respostas

  • Boa Tarde,

    Já tentou colocar esse código ?

    datagridView1.Focus () ;
    dataGridView1.CurrentCell = dataGridView1 [0,2];

    ai você coloca pra ficar selecionada sempre a primeira linha.


    • Sugerido como Resposta Mariana C. Costa segunda-feira, 1 de fevereiro de 2016 16:36
    • Marcado como Resposta Marcos SJ terça-feira, 2 de fevereiro de 2016 12:57
    quinta-feira, 28 de janeiro de 2016 19:46

Todas as Respostas

  • Boa Tarde,

    Já tentou colocar esse código ?

    datagridView1.Focus () ;
    dataGridView1.CurrentCell = dataGridView1 [0,2];

    ai você coloca pra ficar selecionada sempre a primeira linha.


    • Sugerido como Resposta Mariana C. Costa segunda-feira, 1 de fevereiro de 2016 16:36
    • Marcado como Resposta Marcos SJ terça-feira, 2 de fevereiro de 2016 12:57
    quinta-feira, 28 de janeiro de 2016 19:46
  • Bom dia,

    Por falta de retorno do usuário, esta thread será encerrada.

    Caso seja necessário, por gentileza, abra uma thread nova.

    Atenciosamente

    Marcos SJ

    Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    terça-feira, 2 de fevereiro de 2016 12:57