aardio 官方社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 21500|回复: 3

分享一个进度窗体

[复制链接]

12

主题

40

回帖

424

积分

二级会员

积分
424
发表于 2018-3-26 15:47:19 | 显示全部楼层 |阅读模式
当执行比较耗时的代码时,可以弹出一个子窗口显示执行进度,把主窗体禁用了防止用户乱操作,耗时代码执行完毕后关闭子窗体再启用主窗体

  1. import win.ui;
  2. /*DSG{{*/
  3. mainForm = win.form(text="aardio form";right=759;bottom=469)
  4. mainForm.add(
  5. button={cls="button";text="button";left=267;top=267;right=418;bottom=318;z=1}
  6. )
  7. /*}}*/

  8. str = /****
  9. import win.ui;
  10. /*DSG{{*/
  11. var winform = win.form(text="正在执行...";right=399;bottom=99;parent = ...)
  12. winform.add(
  13. progress={cls="progress";left=42;top=56;right=374;bottom=74;edge=1;max=100;min=0;z=1};
  14. static={cls="static";text="...";left=42;top=24;right=374;bottom=47;transparent=1;z=2}
  15. )
  16. /*}}*/
  17. winform.updateProgress = function(text,pos){       
  18.                 winform.static.text = text;
  19.                 winform.progress.pos = pos;
  20. }
  21. winform.show()
  22. win.loopMessage();
  23. return winform;
  24. ****/
  25. mainForm.button.oncommand = function(id,event){       
  26.         var frmProgress = mainForm.loadForm(str);
  27.         mainForm.disabled = true;
  28.         frmProgress.show()
  29.         for(i=1;100;1){
  30.                 mainForm.text = i;
  31.                 frmProgress.updateProgress(string.format("执行进度%s%%",i),i)
  32.                 win.delay(100)               
  33.         }
  34.         frmProgress.close()
  35.         mainForm.disabled = false       
  36. }
  37. mainForm.show()
  38. win.loopMessage();
复制代码

38

主题

129

回帖

1045

积分

荣誉会员

积分
1045
发表于 2018-3-26 16:00:30 | 显示全部楼层
学习了.谢谢分享

7

主题

36

回帖

2873

积分

五级会员

积分
2873
QQ
发表于 2018-3-31 22:35:24 | 显示全部楼层
这个是预先设定时间吧,程序执行进度往往是根基不同的机器配置执行速度是不同的

12

主题

40

回帖

424

积分

二级会员

积分
424
 楼主| 发表于 2018-3-31 23:51:51 | 显示全部楼层
greenbud 发表于 2018-3-31 22:35
这个是预先设定时间吧,程序执行进度往往是根基不同的机器配置执行速度是不同的

这个只一个演示,重点在于禁用父窗体不可操作
至于进度条怎么控制由自己计算
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|aardio.com|aardio 官方社区 ( 皖ICP备09012014号 )

GMT+8, 2024-4-19 12:56 , Processed in 0.055922 second(s), 23 queries .

Powered by Discuz! X3.5

Copyright © 2001-2023 Tencent Cloud.

快速回复 返回顶部 返回列表