Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Timer&ProgressBar


Автор: NightRider 24.11.2005, 20:18
У меня такая задача:

Мне надо, чтобы после открытия формы начал просто так работать ProgressBar, и, чтобы по прошествии пяти секунд форма закрылась. Как это сделать???? smile smile smile

Автор: darkart 24.11.2005, 21:10
Вот, что надо поправишь:
В форму добавить:
таймер timer1
прогресс бар progressbar1

Dim n As Integer

Private Sub Form_Load()
n = 0
End Sub

Private Sub Timer1_Timer()
ProgressBar1.Value = n * ProgressBar1.Max / 50
n = n + 1
If n > 50 Then Unload Me
End Sub

Автор: NightRider 24.11.2005, 21:21
Не работает. Progress Bar не бегает и форма не закрываестя smile
Добавлено @ 21:27
У меня была такая идея

Код

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Dim MyValue As Long
        Dim x As Long
        Randomize() ' Инициализирует генератор случайных чисел
        MyValue = Int((10000 * Rnd()) + 1) ' Возвращает случайное число от 1 до 10000
        PB1.Maximum = 1000
        PB1.Minimum = 1
        For x = 1 To MyValue
            PB1.Value = x
        Next x
        If x > 500 Then Me.Close()
    End Sub


PB1 это ProgressBar1

Автор: NightRider 24.11.2005, 21:58
Вот эта ошибка

Автор: cardinal 24.11.2005, 22:44
Лови пример...

Автор: darkart 24.11.2005, 23:51
Sorry, у таймера надо выставить интервал в 100, в прогресс баре:(min=0,max=100)(забыл написать smile smile smile )
Добавлено @ 00:00
Цитата
 
Код

 Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Dim MyValue As Long
        Dim x As Long
        Randomize() ' Инициализирует генератор случайных чисел
        MyValue = Int((10000 * Rnd()) + 1) ' Возвращает случайное число от 1 до 10000
        PB1.Maximum = 1000
        PB1.Minimum = 1
        For x = 1 To MyValue
            PB1.Value = x
        Next x
        If x > 500 Then Me.Close()
    End Sub

Несколько Замечаний:
randomize() - не стоит каждый раз вызывать
MyValue от 0 до 10000, а Pb1.Maximum=1000 => цикл вывалится при x>1000 ' вот она ошибка


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)