Usuário com melhor resposta
Form Splash C# .NET CF

Pergunta
-
Colegas, boa noite.
Estou tentando fazer uma tela de splash, mas tô "apanhando" feito doido.
No Program.cs chamo o form inicial da minha aplicação:
frmHome = new FrmHome();
Application.Run(frmHome);
No evento Load desse form eu verifico se existe um arquivo para ser descompactado, caso exista eu chamo um segundo form para descompactar e "popular" minha base de dados:
// Desabilita o form atual (Home)
this.Enabled = false;
this.Visible = false;
Application.DoEvents();
// Apresenta o primeiro formulário de descompactação dos arquivos
frmDescompacta = new FrmDescompacta();
frmDescompacta.ShowDialog();
Porém os 2 forms desaparecem da tela, as rotinas do form de descompactação são realizadas e no final dessas rotinas eu fecho o form de descompactação, ai na volta ao primeiro form eu habilito e seto a propriedade Visible = true, ai esse form aparece. Porém meu problema é que fica um bom tempo sem nenhum form aparecer e o usuário pensa que não entrou no programa, porém está processando. Como faço para resolver esse problema ? Que seja exibido o form de descompactação mostrando o progresso das rotinas de descompactação e inserção dos registros no banco de dados. Resumindo, um form Splash no C# .NET CF, pois já pesquisei bastante na internet, tentei várias implementações, porém não tive sucesso.
Desde já, obrigado.
Leonardo
Respostas
-
Bom dia.
Consegui resolver da seguinte maneira: no Program.cs eu chamei o form Splash, no evento Activated dele eu faço a verificação se existe arquivo a ser descompactado, havendo, faço a descompactação, e no final, tendo arquivo de compactação ou não eu escondo esse form (Enabled = false; Visible = false) e chamo o form inicial da aplicação com ShowDialog().
Obrigado.
Leonardo- Marcado como Resposta Leonardo Sobrinho quarta-feira, 17 de março de 2010 11:38
Todas as Respostas
-
Leonardo,
Ué... Se você não escondeu o form de descompactação antes de completar o processamento, não tem pq ele estar desaparecendo... Tem alguma coisa errada...
Acho que se você postar o código dos dois forms vai ajudar a identificar o que está acontecendo...
André Alves de Lima
Visite o meu site: http://andrealveslima.spaces.live.com
Me siga no Twitter: @andrealveslima- Sugerido como Resposta AndreAlvesLimaModerator sexta-feira, 12 de março de 2010 21:19
-
Bom dia.
Consegui resolver da seguinte maneira: no Program.cs eu chamei o form Splash, no evento Activated dele eu faço a verificação se existe arquivo a ser descompactado, havendo, faço a descompactação, e no final, tendo arquivo de compactação ou não eu escondo esse form (Enabled = false; Visible = false) e chamo o form inicial da aplicação com ShowDialog().
Obrigado.
Leonardo- Marcado como Resposta Leonardo Sobrinho quarta-feira, 17 de março de 2010 11:38