以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 发现一个代码应用速度问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=30200) |
-- 作者:e-png -- 发布时间:2013/3/22 18:18:00 -- 发现一个代码应用速度问题 同样的代码,在命令窗口或窗口事件中执行的时候特慢,但是在窗口afterload中却飞快,这是为什么呢。
比如,http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=30118 中,目录树有日期作为节点,但有0:00:00 。 要清楚这个0···,下面代码放在afterload中执行飞快, 但在命令窗口或其他窗口事件或按钮中都非常慢! Dim tr As WinForm.TreeView = Forms("窗口1").Controls("TreeView1") 什么道理呢? 狐爸: 能改进吗 ? |
-- 作者:don -- 发布时间:2013/3/22 18:37:00 -- Dim tr As WinForm.TreeView = Forms("窗口1").Controls("TreeView1") Dim nd As WinForm.TreeNode tr.StopRedraw For Each ndd As winform.treenode In tr.allnodes If ndd.text.contains("0:00:00") ndd.text = ndd.name.replace("0:00:00","") End If Next tr.ResumeRedraw
|
-- 作者:e-png -- 发布时间:2013/3/22 18:53:00 -- 呵呵,确实如此哈, 谢谢啊。
但还是不理解在afterload中并没有加
tr.StopRedraw tr.ResumeRedraw
也一样运行飞快呢。。。
|
-- 作者:狐狸爸爸 -- 发布时间:2013/3/22 22:37:00 -- 这是因为这个时候窗口还没有显示,无需绘制。 |