Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    45

    [VB.net] Errore Progress Bar!?

    Salve, ho problemi con una progress bar... Quando la barra sta per arrivare al massimo, ottengo un errore. Ecco uno screenshot del messaggio di errore che mi appare:

    http://i47.tinypic.com/wire9s.png

    Probabilmente il timer non si blocca quando la barra arriva al massimo, però io ho messo controlli (if) praticamente dappertutto, ecco un po' il codice

    codice:
     Randomize()
            Me.Timer1.Enabled = True
            Dim d As Integer = 0
            d = Int(Rnd() * 2000) + 1 + 1
            Me.Timer1.Interval = d
    ---

    codice:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    
            Timer1.Enabled = True
    
          
    
        End Sub
    
        Friend WithEvents Timer1 As System.Windows.Forms.Timer
    
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            Randomize()
            Dim i As Integer = 0
            i = Int(Rnd() * 8) + 1 + 1
            If ProgressBar1.Value < ProgressBar1.Maximum Then
                ProgressBar1.Value += i
            ElseIf ProgressBar1.Value = ProgressBar1.Maximum Then
                Timer1.Stop()
                MsgBox("End.")
                Me.Close()
            End If
        End Sub

  2. #2
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    prova cosi

    codice:
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            Randomize()
            Dim i As Integer = 0
            i = Int(Rnd() * 8) + 1 + 1
            Dim newVal As Integer = 0
            newVal = ProgressBar1.Value += i;
            
            If newVal < ProgressBar1.Maximum Then
                ProgressBar1.Value += newVal
            ElseIf ProgressBar1.Value = ProgressBar1.Maximum Then
                Timer1.Stop()
                MsgBox("End.")
                Me.Close()
            End If
        End Sub

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    45
    Stesso errore purtroppo...

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    45
    Perfetto, problema risolto: bisognava usare questa istruzione

    ProgressBar1.Increment(h)

    (Dove h era una variabile precedentemente dichiarata e assegnata a un numero random).

    E non ProgressBar1.Value = ProgressBar1.Value + h

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.