以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于进度条显示问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=190350)

--  作者:刘效功天津
--  发布时间:2024/2/2 14:33:00
--  关于进度条显示问题

                                关于状态栏进度条显示问题

专家老师好! 我在软件导航栏控件中,插入一个目录树,目录树的NodeMouseDoubleClick事件中写入如下代码,用于调用打开各个窗口,由于窗口所依附的源表结构太大,调用过程很慢,经测试需要1.6分钟,

所以在状态栏中想加个进度条以示正在调用程序,但是在程序调用过程中进度条一直显示10%,直到窗口完全打开关闭进度条,在整个调用过程中进度条没有显示进度的变化,不匹配

 

请老师更改一下代码,让进度条显示进度变化过程,当进度条显示到100%时窗口正好打开,谢谢老师!

 

Select Case e.Node.Text

    Case "相同截面--铝板统计表" 

        StatusBar.ProgressBar.Visible = True

        StatusBar.ProgressBar.Value = 0

        StatusBar.Message1 = "正在调用功能组模块 请耐心等候"

        Dim val As Integer = 0

        For i As Integer = 1 To 10

            val = val + 10

            StatusBar.ProgressBar.Value = val

            StatusBar.Message2 = val & "%"

            StatusBar.Refresh()

 

            MainTable = Tables("幕墙面材汇总表")

            Forms("相同截面--铝板--统计表").show() \'打开窗口     

        Next

        StatusBar.ProgressBar.Visible = False

        StatusBar.Reset()

       

Case "相同截面--铝塑板订货表"

  ..........

 

Case "石材订货表"

  ..........

End Select

        

请老师帮忙一下,感谢老师,恭祝敬祝老师身体健康,工作顺利  万事如意。小年快乐  


--  作者:有点蓝
--  发布时间:2024/2/2 14:44:00
--  
窗口打开是一整个过程,这种进度条是没有用的。如果窗口加载的数据多,考虑分页加载,或者是的条件比如只加载今天、本月、...的数据
--  作者:刘效功天津
--  发布时间:2024/2/2 14:49:00
--  
奥,这种打开窗口不能用进度条显示,谢谢,那我就去掉进度条,只显示请稍后作为提示吧

那这种进度条适合啥样的应用场景,请老师指点一下,谢谢老师



--  作者:有点蓝
--  发布时间:2024/2/2 15:15:00
--  
适合批量的集合或者数组数据的处理,比如表格有100行数据,每处理一行就更新一下进度条。

窗口是一个整体,又无法拆分为10份,每处理一份就更新一下进度条

--  作者:刘效功天津
--  发布时间:2024/2/2 15:20:00
--  
奥,谢谢老师!