以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  进度条的终止问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=82517)

--  作者:santde
--  发布时间:2016/3/19 13:20:00
--  进度条的终止问题
Dim i As Integer = 1
Do While i <= 100
    StatusBar.ProgressBar.Visible =True
    StatusBar.Message1= "正在统计"
    StatusBar.ProgressBar.Value = i
   ‘ StatusBar.Message2= i & "%"
    Application.DoEvents
    i = i + 1
If i = 100 Then i = 1
Loop
如果用上面这段代码,会让任务栏进度条一直进行进度滚动,但这个功能是实现了,那么问题来了
按说用
StatusBar.Reset()
可以强制任务栏滚动条初始化,但实测此时关闭不了

--  作者:Hyphen
--  发布时间:2016/3/19 15:04:00
--  
StatusBar.Reset() 任务栏滚动条是初始化了,但是不能阻止循环代码的执行,增加一个全局变量,在需要停止的时候,改全局变量的值

Vars("Do") = True
Dim i As Integer = 1
Do While Vars("Do")
    StatusBar.ProgressBar.Visible =True
    StatusBar.Message1= "正在统计"
    StatusBar.ProgressBar.Value = i
   \' StatusBar.Message2= i & "%"
    threading.thread.sleep(200)
    Application.DoEvents
    i = i + 1
If i = 100 Then i = 1
Loop

需要停止的时候
Vars("Do") = False