none
ProgressBar e Timer C# RRS feed

  • Pergunta

  • Olá Galera,

    Possuo a seguinte dúvida:

    Como eu posso fazer com que na hora em que meu Progressbar chegue em 50%, ele me exiba a tela de login, e após o usuário logar continuar o termínio do ProgressBar neste caso até chegar (100%) e em seguida abrir o segundo Form2 ?

    quinta-feira, 12 de março de 2015 16:53

Respostas

  • Você vai usar dentro de um timer, no form login (não sei como você vai fazer a validação desse login) se o usuario existir no segundo timer você vai chamar :
    'Fora do timer2
    progressBar.Value=(progressBar.Maximun/2)
    
    'chame aqui o form2
    'Incrementa o progressBar
    


    GTSA vantagem de ser inteligente é que podemos fingir que somos imbecis enquanto ao contrario é completamente impossivel

    sexta-feira, 13 de março de 2015 16:13
  • mas eu coloco esse evento no Button ? ou no Timer ?

    e como faço pra quando o usuário fizer seu login clicando no Button volte a percorrer novamente o timer até chegar 100% e em seguida abrir o Form2 ?

    Samuel vc pode chamar o form de login com ShowDialog e tratar o botão de login retornar como DialogResult OK, ex:

    FrmLogin frmLogin = new FrmLogin();
    if(frmLogin.ShowDialog() == DialogResult.OK){
    //retoma aqui 
    }

    sexta-feira, 13 de março de 2015 16:14
  • Olá, amigo!

    Uma sugestão que sempre uso em meus aplicativos:

    Insira o ProgressBar (o do meu exemplo está com nome: "P1")

    1 Label com nome "lblCarregando" ele mostrará o andamento do "ProgressBar" em Percentual

    Ilustração de exemplo:


    Agora vamos ao código:

    private void Timer1_Tick(System.Object sender, System.EventArgs e)

    {

          P1.Increment(1);

          lblCarregando.Text = P1.Value + "%";

     

     

          if (P1.Value == 1) {

          }

     

     

          if (P1.Value == 50) {

                //Código aqui para chamar aqui o seu Formulário de login

                //Exemplo: FormLogin.Show()

     

          }

     

     

     

          if (P1.Value == 100) {

                Form2.Show();

                this.Hide();

                Timer1.Stop();

          }

     

    }


    OBS: Este script serve para fazer tudo no mesmo Timer.

    Espero ter lhe ajudado.


    MS INFORMATICA




    sexta-feira, 13 de março de 2015 18:17

Todas as Respostas

  • Samuel,

    Acredito que o link abaixo possa te ajudar:

    http://mrbool.com/how-to-make-a-splash-screen-in-csharp/26598

    sexta-feira, 13 de março de 2015 12:06
  • Faz um condicional, por exemplo:

    if progressBar.Value=(progressBar.Maximum/2) then
    'chame aqui o form
    'Dê um pause no timer
    end if
    Isso dentro de um timer, só que vai tem que ativar novamente o timer apos o login do form chamado ou criar um segundo timer que ira continuar o progresso e iniciar a progressBar com o value=(progressBar.Maximum/2)

    GTSA vantagem de ser inteligente é que podemos fingir que somos imbecis enquanto ao contrario é completamente impossivel

    sexta-feira, 13 de março de 2015 12:14
  • mas eu coloco esse evento no Button ? ou no Timer ?

    e como faço pra quando o usuário fizer seu login clicando no Button volte a percorrer novamente o timer até chegar 100% e em seguida abrir o Form2 ?

    sexta-feira, 13 de março de 2015 16:04
  • Você vai usar dentro de um timer, no form login (não sei como você vai fazer a validação desse login) se o usuario existir no segundo timer você vai chamar :
    'Fora do timer2
    progressBar.Value=(progressBar.Maximun/2)
    
    'chame aqui o form2
    'Incrementa o progressBar
    


    GTSA vantagem de ser inteligente é que podemos fingir que somos imbecis enquanto ao contrario é completamente impossivel

    sexta-feira, 13 de março de 2015 16:13
  • mas eu coloco esse evento no Button ? ou no Timer ?

    e como faço pra quando o usuário fizer seu login clicando no Button volte a percorrer novamente o timer até chegar 100% e em seguida abrir o Form2 ?

    Samuel vc pode chamar o form de login com ShowDialog e tratar o botão de login retornar como DialogResult OK, ex:

    FrmLogin frmLogin = new FrmLogin();
    if(frmLogin.ShowDialog() == DialogResult.OK){
    //retoma aqui 
    }

    sexta-feira, 13 de março de 2015 16:14
  • Olá, amigo!

    Uma sugestão que sempre uso em meus aplicativos:

    Insira o ProgressBar (o do meu exemplo está com nome: "P1")

    1 Label com nome "lblCarregando" ele mostrará o andamento do "ProgressBar" em Percentual

    Ilustração de exemplo:


    Agora vamos ao código:

    private void Timer1_Tick(System.Object sender, System.EventArgs e)

    {

          P1.Increment(1);

          lblCarregando.Text = P1.Value + "%";

     

     

          if (P1.Value == 1) {

          }

     

     

          if (P1.Value == 50) {

                //Código aqui para chamar aqui o seu Formulário de login

                //Exemplo: FormLogin.Show()

     

          }

     

     

     

          if (P1.Value == 100) {

                Form2.Show();

                this.Hide();

                Timer1.Stop();

          }

     

    }


    OBS: Este script serve para fazer tudo no mesmo Timer.

    Espero ter lhe ajudado.


    MS INFORMATICA




    sexta-feira, 13 de março de 2015 18:17