Foxtable(狐表)用户栏目专家坐堂 → ProgressBar能在一个事件里面 提前 显示出来,用来反映这个事件执行的进度吗


  共有3241人关注过本帖树形打印复制链接

主题:ProgressBar能在一个事件里面 提前 显示出来,用来反映这个事件执行的进度吗

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107730 积分:547983 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/13 19:59:00 [显示全部帖子]

什么事件写了什么代码?
[此贴子已经被作者于2020/3/13 19:59:05编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107730 积分:547983 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/13 21:02:00 [显示全部帖子]

加载数据目前是没有任何办法优化的。只能是改为按条件加载,或者分页加载。如果以后数据多到上百万,上千万的数据也全部加载出来?没有那个软件受得了。这种思路本身就是有问题的。

代码如果放到afterload里,在afterload事件没有执行完毕之前,窗口是看不到的,所以什么进度条都没有用。

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107730 积分:547983 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/13 22:46:00 [显示全部帖子]

窗口显示出来后,使用按钮点击再加载数据。或者考虑放到计时事件中

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107730 积分:547983 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/14 15:24:00 [显示全部帖子]

开启窗口计时器

e.Form.TimerEnabled = False
Dim p As WinForm.ProgressBar = e.Form.Controls("ProgressBar1")
p.Value = 0
For Each dt As DataTable In DataTables
    p.Value += 1
    Application.Doevents
    dt.Load
Next

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107730 积分:547983 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/14 16:00:00 [显示全部帖子]

修改窗口显示的内容一样可以在计时事件处理,接着后面写代码即可

 回到顶部