这个技巧在LabVIEW论坛中一直被讨论过很多次,但是我仍然希望将它写成一个正规的Darrens Nuggets。
      如果在你的UI界面上,有一些东西需要花很长时间去更新(比如最常见的就是对于Tree控件的更新),你可以在你的代码前后用 “Defer Panel Update”操作。通过在前面板设定这个属性,你可以告诉LabVIEW你并不需要“画”任何需要画的东西。这个做法可以在当你做一些大规模界面更新 (比如一下添加很多Tree的内容)时,很实在地加快你的代码运行速度。然后,一旦你的更新结束,你可以再将这个属性重新使能。此外,你也可以使用Set Busy.vi以及Unset Busy.vi来实现在更新时鼠标为一个漏斗图标,这样用户根本无法在面板中改变任何事情。下图是一个最典型的Defer Panel Update属性以及Set/Unset Busy VI的一个程序框图:


LabVIEW7i:
这绝对是一个好方法。
但应该属于VI设计,而不属于LabVIEW Nugget.





Leave a Reply.