Foxtable(狐表)用户栏目专家坐堂 → 窗体控件较多时,如何防止初始加载时的闪烁?


  共有2663人关注过本帖树形打印复制链接

主题:窗体控件较多时,如何防止初始加载时的闪烁?

帅哥哟,离线,有人找我吗?
rogen
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:549 积分:4520 威望:0 精华:0 注册:2015/11/22 10:28:00
窗体控件较多时,如何防止初始加载时的闪烁?  发帖心情 Post By:2021/5/8 14:10:00 [只看该作者]

窗体里放了很多控件,在加载窗体时,因为要往控件写值啥的,会有个绘制抖动过程
虽然在加载事件写了e.Form.StopRedraw事件,但防抖效果不佳
还有其他方法吗?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107873 积分:548728 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/8 14:32:00 [只看该作者]

试试,不行就没有办法了

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

 回到顶部
帅哥哟,离线,有人找我吗?
cd_tdh
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3106 积分:20733 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2021/5/8 17:16:00 [只看该作者]

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

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

basemainform.opacity = 0  '设置为透明

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

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

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

 回到顶部
帅哥哟,离线,有人找我吗?
rogen
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:549 积分:4520 威望:0 精华:0 注册:2015/11/22 10:28:00
  发帖心情 Post By: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编辑过]

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


 回到顶部