以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 希望进度条上面的 label 能够依次显示数字应该怎么做呢  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=157083)

--  作者:81538475
--  发布时间:2020/9/30 18:21:00
--  [求助] 希望进度条上面的 label 能够依次显示数字应该怎么做呢
Forms("进度").Open
Dim lb1 As WinForm.Label = Forms("进度").Controls("Label1")
For i  As Integer = 0 To 100000
    lb1.Text = i
    If i =100000 Then
        Forms("进度").close
    End If
Next

窗口打开侯,就不动了。数字不会变。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


[此贴子已经被作者于2020/9/30 18:21:53编辑过]

--  作者:新福星
--  发布时间:2020/10/3 6:40:00
--  

把那段程序放到窗口的AfterLoad事件里

 


--  作者:81538475
--  发布时间:2020/10/8 20:38:00
--  
貌似不行。打开窗口会卡住,直到计算完成,才会显示出来。而不会再label 上显示数字进度
--  作者:有点蓝
--  发布时间:2020/10/9 8:53:00
--  
放到窗口计时器事件种
--  作者:81538475
--  发布时间:2020/10/9 10:53:00
--  
恩,这个实现了。如果我需要下载局域网某个文件夹的所有图片,这种进度可以实现吗?就是再这个label 上面显示正在下载的图片名称。
--  作者:有点蓝
--  发布时间:2020/10/9 11:23:00
--  
文件只能一个一个的下载,下载前设置label 即可
--  作者:81538475
--  发布时间:2020/10/9 14:03:00
--  
代码写再afterload里面的话,label 还是不能一个个的显示正在下载的文件名。。

Dim c As Integer =0
If Tables("任务进度记录").Rows.count>0 Then
    c=  Tables("任务进度记录").Rows.count
End If

Dim LB1 As WinForm.Label = Forms("进度条").Controls("Label1")

For Each r As DataRow In DataTables("任务进度记录").Select("")
    
    Dim path As String = Functions.Execute("IP设置") & "\\管理系统内部截图$\\每日截图" & "\\" & r("部门") & "\\" & r("成员") & "\\" & r("日期").Year & "-" & r("日期").month  & "\\"  & r("日期").day & "\\"
    
    
    Functions.Execute("复制图片",r("原画2"),r,path)

    
    LB1.Text = R("制作截图1")

Next

复制图片的Function
Dim sname As String = args(0)
Dim r As DataRow= args(1)
Dim path As String=args(2)

If FileSys.FileExists(ProjectPath & "\\Foxtemp\\" & sname) =False  Then  \'---如果本机不存在则下载
    If FileSys.FileExists(path & sname) =True Then \'----如果局域网存在则下载
        
        FileSys.CopyFile(path & sname, ProjectPath & "\\Foxtemp\\" & sname)
    End If
End If

--  作者:有点蓝
--  发布时间:2020/10/9 14:23:00
--  
afterload里面所有代码执行完毕才会打开窗口的,所以还是放到计时器把