Jump to content


Photo

Aplicação Desktop


  • Faça o login para participar
2 replies to this topic

#1 edmoks

edmoks

    Novato no fórum

  • Usuários
  • 1 posts
  • Sexo:Não informado

Posted 11/12/2008, 09:32

Tenho uma aplicação desktop que faz um loop para carregar dados do banco. O problema é que enquanto o loop está sendo feito, as janelas da aplicação ficam idle, como se não estivessem respondendo, parecendo que deu um problema no programa. Alguém sabe como resolver isso? Valeu!!

#2 Luiz Fernando Noschang

Luiz Fernando Noschang

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Não informado

Posted 07/08/2009, 17:10

Se este carregamento ocorre depois que o formulario principal é exibido, você pode utilizar um backgroundworker.
Vá até a paleta de ferramentas (geralmente à esquerda) e abra a categoria "Components".
Selecione o componente BackgroundWorker e coloque no formulario.

De dois cliques nele e implemente o seu código.
Depois, você deve criar um ativador para o backgroundworker.
Pode ser um botão. Crie um botao e clique duas vezes nele. Coloque o seguinte código: backgroundWorker1.RunWorkerAsync();

IMPORTANTE: Se você tentar atualizar algum componente do formulario de dentro do background worker (atualizar uma progressbar por exemplo), será gerada uma exceão. Para este tipo de tarefa, o backgroundworker deve estar associado a um delegate. Procure por isso no MSDN, site oficial da microsoft... :-)

Espero ter ajudado...
Abraço...

PS: Uma vez iniciado o backgroundworker, ele não poderá ser interrompido até concluir a tarefa. A não ser que você o faça manualmente utilizando algumas variáveis de controle. Se quiser um exemplo, poste aqui no fórum que eu te mando um exemplo por email.

#3 #KautZmanN#

#KautZmanN#

    Turista

  • Usuários
  • 44 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre/RS

Posted 10/08/2009, 19:48

Você está fechando essa conexão após o término do loop?
Ocorre alguma exceção durante a busca desses dados?




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq