Ir para o conteúdo
D3POD

Progress bar no login

Mensagens Recomendadas

D3POD

Boas, criei um sistema de login que depois de ser feito correctamente os controles existentes no form de fundo ficam visíveis e o form do login desaparece. Como ainda são alguns controles o programa demora alguns segundo a carregar e ainda não tenho qualquer base de dados a funcionar, o que irá provocar uma lentidão maior pois serão 3 bases de dados a serem carregadas no load do form.

O que eu queria era criar um terceiro form no processo de arranque da aplicação, depois do login, que ia aguardar que tudo estivesse pronto e que ao mesmo tempo iria conter dados do registo do software.

Alguém me consegue dar alguma ajuda de como fazer isto?

O que tenho encontrada na maioria é para verificação da qualidade da password e coisas assim, que não tem muito a ver com o que pretendo.

Cumprimentos

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
brunobola

Podes uma um form de espera por examplo e chamá-lo quando quiseres, exemplo:

LoadingWindow loadingWindow = new LoadingWindow();

try
{
loadingwindow.Show(); //Main form Load.....
loadingwindow.Close();
}
catch (Exception ex)
{
MessageBox.Show("Exception EXPORT: " + ex.Message);
}

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
D3POD

Olá, o que eu pretendo é colocar a progressbar realmente num form, mas queria saber é como fazer com que o tempo da progressbar coincida com o tempo que a aplicação demorar a abrir o form seguinte, isto para evitar que o utilizador veja a aplicação a tremer de estar a carregar.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nelsonr

O que podes fazer é dividir as tarefas que tens no iniciar do teu form.

Por exemplo, imagina que fazes 7 operacoes no load.

Crias um form so com a progress bar e colocas o valor maximo a 7.

No form que tem as 7 operacoes, logo no inicio do load abres o form que tem a progress, mostrando logo com o valor a 0

Depois de cada operação, incrementas o valor, de modo a que depois da operação final, a progressbar fique com o valor maximo.

No final, escondes o form da progress e mostras o form principal.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
D3POD

É uma boa solução, mas como faço a leitura quando um dos processos terminada para que eu possa informar a progressbar que tem que aumentar valor?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nelsonr

Isso depende exactamente do que estas a fazer. Que operações são essas que fazes no inicio do form?

Dizes que é carregar dados de 3 bases de dados. So ai consegues dividir a barra de progresso em 3.

Depois depende exactamente dos dados que les de cada uma, para ver se da para dividir ainda mais

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
D3POD

Sim, eu tenho 3 bases de dados e cada uma delas tem varias tabelas.

Alem disso, tenho algumas definições que são carregadas no load do form principal e no login devido aos perfis.

O problema é que ao carregar todas essas informações a aplicação apresenta uns bloqueios e ainda só tenho uma base de dados a ser carregada.

A minha ideia era implementar uma progressbar onde o utilizador teria uma ideia de como está a ser carregada a informação.

Só não sei como vou recolher a informação por exemplo quando alguém faz login os dados são carregados e no form principal é apresentado um resumo que é carregado de uma base de dados e que pode provocar lentidão.

O que eu queria era por exemplo saber quando esse carregamento termina para informar a progressbar.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nelsonr

Se o problema é o bloqueio da janela (não conseguir mexer) enquanto faz o loading, terás então de criar uma thread e colocar lá o trabalho demorado. Para isso vê o link que o bioshok mostrou

Se o problema é mostrar ao utilizar que está a fazer qualquer coisa e avançar uma barra de progresso, teras de fazer como disse no post #5 e #7

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.