Pergunta

Ao iniciar meu aplicativo eu em primeiro lugar tem que ler em alguns dados, tem que o init alguns formulários e assim por diante. Para que o tempo que o usuário vê apenas cinza ficando pronto para mostrar formas algo.

Este tem a duração de alguns segundos ...

Eu pensei em uma tela inicial que carrega os dados em um segmento separado e também mostra quanto tempo vai demorar. Ou apenas um status bar?

Como você faria algo assim?

Eu estou usando C # .NET 3.5 + WinForms

Foi útil?

Solução

Com WindowsForm, mais fácil o é usar BackgroundWorker.

Você pode controles desativa durante o carregamento e exibir uma barra de progresso na barra de startus com etiqueta como "carregamento de dados ...".

MSDN link: http://msdn.microsoft. com / en-us / library / system.componentmodel.backgroundworker.aspx

Outras dicas

Veja este artigo CodeProject: uma bonita tela de boa respingo em C #

Ele implementa uma tela inicial que:

  • é executado em um segmento separado
  • Fades em como parece, e fade out, uma vez que desaparece
  • Exibe uma mensagem de status em execução que é atualizado usando um método estático
  • Mostra e atualizar um bar preditivo auto-calibrar desenho proprietário suave de gradiente progresso
  • Exibe o número de segundos restantes até a carga está completa

Aqui está um exemplo do que parece - talvez o seu será mais bonita. 8 -)

text alt

Se ele só dura alguns segundos, em seguida, exibir a espera cursor deve ser fino. Talvez isso possa ser arranjado que o janela principal é mostrado tão rapidamente quanto possível e o resto é iniciado após a actualização primeira tela (por exemplo, usando um temporizador). Isto irá reduzir a percebido o tempo de inicialização.

De modo a reduzir o tempo de inicialização que você também pode considerar adiar algumas das ações de inicialização se eles não são estritamente necessário. Isso pode ser feito mais tarde no fundo usando um temporizador ou on-demand.

Eu escrevi recentemente uma tela similar usando Tom Clements como base. Dê uma olhada na Meu Ecrã Splash para ver se ele se adapta às suas necessidades.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top