C#窗体控件闪烁问题

C#窗体控件闪烁问题,第1张

看看这控件有没有

这个控件.BeginUpdate()

这个控件.EndUpdate()的方法

有的话就把BEGIN放在 *** 作前

,END放在 *** 作后,

hi,通过底层api进行调用:

函数原型

public static extern bool FlashWindow(IntPtr handle, bool bInvert)

参数说明

IntPtr handle , 窗体句柄

bool bInvert , bInvert为true时闪烁

(注意:此函数只会使窗体闪烁一次,连续闪烁需要用到Timer控件,你自己可以控制)

好像有一个什么Style的什么东东,开启一下双缓冲,就是控制刷新的

this.SetStyle(ControlStyles.DoubleBuffer | ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint, true)

this.UpdateStyles()

不过几百个控件,你的问题恐怕也没办法从根本上解决,我的方案就是在加载之前先把整个Form给Visable掉,加载完了再显示出来,不过这也是从视觉效果上看起来不闪烁了而已

你可以试试BeginUpdate和EndUpdate,不过几百个控件,想像中肯定效率不佳,可是也不至于这么不佳


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11731160.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存