以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  窗体控件较多时,如何防止初始加载时的闪烁?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=164907)

--  作者:rogen
--  发布时间:2021/5/8 14:10:00
--  窗体控件较多时,如何防止初始加载时的闪烁?
窗体里放了很多控件,在加载窗体时,因为要往控件写值啥的,会有个绘制抖动过程
虽然在加载事件写了e.Form.StopRedraw事件,但防抖效果不佳
还有其他方法吗?

--  作者:有点蓝
--  发布时间:2021/5/8 14:32:00
--  
试试,不行就没有办法了

LockWindowUpdate(baseMainform.handle)
Forms("窗口1").Open
LockWindowUpdate(System.IntPtr.Zero)

--  作者:cd_tdh
--  发布时间:2021/5/8 17:16:00
--  

有点蓝老师那个也是停止绘制恢复绘制的操作

这个方法不行还可以试试这样处理,窗口AfterLoad事件

basemainform.opacity = 0  \'设置为透明

.......   \'其他代码

basemainform.opacity = 1  \'设置为不透明

[此贴子已经被作者于2021/5/8 17:19:09编辑过]

--  作者:rogen
--  发布时间:2021/5/8 18:37:00
--  
以下是引用cd_tdh在2021/5/8 17:16:00的发言:

有点蓝老师那个也是停止绘制恢复绘制的操作

这个方法不行还可以试试这样处理,窗口AfterLoad事件

basemainform.opacity = 0  \'设置为透明

.......   \'其他代码

basemainform.opacity = 1  \'设置为不透明

[此贴子已经被作者于2021/5/8 17:19:09编辑过]

谢谢,两种方法都不太理想