StopRedraw

执行StopRedraw方法会停止绘制Table,直到执行ResumeRedraw方法才会恢复绘制。
如果要连续地进行大量操作,可以先执行
StopRedraw方法, 停止绘制Table,操作完成后再执行ResumeRedraw方法,重新绘制Table,这样可以避免屏幕闪烁,提高运行效率。

示例

例如,要在订单表中增加1000行:

With Tables("订单")
    .
StopRedraw
    For
i As Integer = 1 To 1000
        .
AddNew()
    Next
    .
ResumeRedraw

End With

如果在上述代码的开始部分,没有执行StopRedraw方法,那么执行过程会有明显的闪烁,且执行的时间也会长很多。

上面的代码只是用于演示,如果要在主表增加1000行,简洁的代码是:

Tables("订单").AddNew(1000)

StopRedraw和ResumeRedraw必须配对执行,如果执行了两次StopRedraw,那么对应的就必须执行两次ResumeRedraw,才会恢复绘制Table。

还记得DataTable的StopRedraw和ResumeRedraw方法吗,它们实现了 同样的功能,如果要停止绘制单个Table,应该执行此Table的StopRedraw和ResumeRedraw方法,如果要停止绘制基于某个DataTable的全部Table,那么就应该执行此DataTable的StopRedraw和ResumeRedraw方法。


本页地址:http://www.foxtable.com/webhelp/topics/0453.htm