none
Gerenciar a vida de um Windows Form RRS feed

  • Pergunta

  • Amigos,

     

    Eu gostaria de saber como eu faço esta lógica:

     

    Eu tenho uma tela de cadastro, e nela, há um botão de consulta. Na tela de consulta há alguns parâmetros, e um grid com o resultado do que foi encontrado, se o usuário der um duplo click em uma linha do grid, os dados passam para o formulário de cadastro. Até aí, tudo está funcionando.

     

    Eu gostaria que ao entrar na tela de consulta, pelo menos na egunda vez, os dados continuassem no grid, assim, o usuário não precisa informar todos os dados novamente.

     

    Eu estou realizando a abertura do formulário de consulta desta forma:

     

    frmConsultaContas frmConsultaContas = new frmConsultaContas();

    frmConsultaContas.ShowDialog();

    if (frmConsultaContas.DialogResult == DialogResult.OK)

    txtCodFornecedor.Text = frmConsultaContas.dbGrid.CurrentRow.Cells[2].Value.ToString();

     

    Mas eu não estou sabendo, como faz para não criar novamente a instância do formulário de consulta.

     

    Alguém pode me ajudar?

     

    Marcelo de Oliveira.

    segunda-feira, 22 de outubro de 2007 22:08

Respostas

  • Declare como private seu formulário:

     

    private frmConsultaContas frmConsultaContas;

     

    Esse é o teste para verificar se o form já foi instanciado.

     

    if(frmConsultaContas==null)

    frmConsultaContas= new frmConsultaContas();

    frmConsultaContas.ShowDialog();

     

    if (frmConsultaContas.DialogResult == DialogResult.OK)

    txtCodFornecedor.Text = frmConsultaContas.dbGrid.CurrentRow.Cells[2].Value.ToString();

     

    Agora vem o detalhe:

    Para que o contéudo do form continue com os dados você não poderá fechar o form pois irá destruir ele e tudo que estiver nele.

    para Ocultar o form você poderar usar o metodo Hide do formulário.

     

    Espero ter contribuído.

    quarta-feira, 24 de outubro de 2007 16:49