Progress Bar

Windows Dragon

Power Member
Como fazer aumentar o progresso de uma Progress Bar o codigo que tenho agora é
PHP:
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim startTime As DateTime
Dim span As TimeSpan = DateTime.Now.Subtract(startTime)
Label3.Text = span.Seconds.ToString
If Label3.Text = "1" Then
ProgressBar1.Value = ProgressBar1.Minimum
ElseIf Label3.Text = "3" Then
Label4.Text = "Connecting."
ElseIf Label3.Text = "6" Then
Label4.Text = "Connecting.."
ElseIf Label3.Text = "9" Then
Label4.Text = "Connecting..."
ElseIf Label3.Text = "12" Then
Label4.Text = "Connecting...."
ElseIf Label3.Text = "15" Then
Label4.Text = "Connected"
sas.Visible = True
Label5.Visible = True
Label6.Visible = True
ElseIf Label3.Text = "18" Then
Label6.Text = "Connecting."
ElseIf Label3.Text = "21" Then
Label6.Text = "Connecting.."
ElseIf Label3.Text = "24" Then
Label6.Text = "Connecting..."
ElseIf Label3.Text = "27" Then
Label6.Text = "Connecting...."
ElseIf Label3.Text = "30" Then
Label6.Text = "Connected"
ProgressBar1.Value = ProgressBar1.Maximum
ElseIf Label3.Text = "31" Then
cod4c.MdiParent = MDIFORM
cod4c.Show()
cod4s.Close()
Me.Close()
End If
End Sub
Mas quando o timer chega aos 30 Segundows é que a barra começa a aumentar
Mas se alguem me arranjar um codigo diferente na Boa
Linguagem:VB 2008
Alguem me pode ajudar
 
Última edição:
Primeiro: Granda confusão.
Segundo: É normal que a barra não te aumente progressivamente quando apenas lhe estás a dar valores no ".Text = 1" e no ".Text = 30", ou seja, no inicio do ciclo e no fim do ciclo.

Aqui fica um código que faz basicamente o que tu queres, usando apenas 2 labels (depois altera para meteres as labels que quiseres) e muito mais compreensivel.

Código:
Private TempoDecorrido As Integer = 0
Private ValorAumentar As Integer = 0

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

        TempoDecorrido += 1
        ProgressBar1.Value = TempoDecorrido
        Label2.Text = TempoDecorrido

        If ValorAumentar = 0 Then ValorAumentar += 3

        If TempoDecorrido = ValorAumentar Then
            If String.IsNullOrEmpty(Label1.Text.Trim) = True Then
                Label1.Text = "Connecting"
            Else
                If Label1.Text.Trim.Contains("...") = True Then
                    Label1.Text = "Connecting"
                Else
                    Label1.Text &= "."
                End If
            End If

            ValorAumentar += 3
        End If

        If TempoDecorrido = 30 Then
            Timer1.Enabled = False
            TempoDecorrido = 0
            ValorAumentar = 0
        End If
    End Sub

Tens que meter o .inteval do timer a 1000, ou seja, a cada 1 segundo, este código vai ser corrido.

Se o quiseres testar e analisar, cria um form vazio, coloca 1 progressbar, 2 labels e um butao.

Coloca o código acima entre:

Código:
Public Class Form1

End Class

E no click do butão mete este código:

Código:
Timer1.Interval = 1000
Timer1.Enable = True
 
Back
Topo