回 帖 发 新 帖 刷新版面

主题:如何实现进度条的连续减少

题目要求:
       设计一个有进度条的倒计时程序,图如附件,要求倒计时时间是以分为单位输入,以秒为单位显示,进度条指示的是倒数读秒的剩余时间,即填充块的数目随时间减少。
    我的程序代码如下:
    Dim n%
Private Sub Command1_Click()
  n = InputBox("请输入分钟数:")
  ProgressBar1.Max = n * 60   'timer1  的enable属性设置为false
  ProgressBar1.Value = ProgressBar1.Max   'Command1为开始按扭  Label1为显示剩余秒数
  Timer1.Enabled = True   '其余比如停止按扭可通过设置timer1的enable属性来实现'可以按照这个框架自己修改  因为你说的不是怎么太详细  也不知道窗体上有什么
End Sub

Private Sub Command2_Click()
   
    If ProgressBar1.Value = 0 Then Exit Sub
    ProgressBar1.Value = ProgressBar1.Value - 1
    Label1.Caption = ProgressBar1.Value
End Sub
  该程序在设置好总的时间后,单击一次开始秒数就减1,相应的进度条也减少,如何修改可以使该程序单击开始后自己运行知道倒计时秒数为0

回复列表 (共3个回复)

沙发

Private Sub Timer1_Timer()
 If ProgressBar1.Value < 1 Then Timer1.Enabled = False: Exit Sub
    ProgressBar1.Value = ProgressBar1.Value - 1
    Label1.Caption = ProgressBar1.Value
End Sub

板凳


这个好像还是不行啊

3 楼

你前面的代码也有错误,这样改下:
Private Sub Command1_Click()
  n = InputBox("请输入分钟数:")
  ProgressBar1.Max = n * 60
  ProgressBar1.Value = 0  
  Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
 If ProgressBar1.Value < 1 Then Timer1.Enabled = False: Exit Sub
    ProgressBar1.Value = ProgressBar1.Value + 1
    Label1.Caption = ProgressBar1.Max - ProgressBar1.Value
End Sub

我来回复

您尚未登录,请登录后再回复。点此登录或注册