C#防止panel闪烁

.Net技术 码拜 10年前 (2015-05-10) 2641次浏览 0个评论

如题,怎么能让WinForm中的Panel在移动时不闪烁呢,我用鼠标控制panel移动,Panel里有很多label控件,当我鼠标移动时,panel会随着鼠标移动,如果panel下面没有窗体中其它控件的话不会太闪烁,但当Panel下面有其它控件比如Button按钮的话,则会闪烁的很厉害,怎么能让panel在其它控件上移动的时候也不会闪烁啊??

10分
将放置panel的主窗体doublebuffer设置成true,采用双缓冲机制
引用 1 楼 sun350771521 的回复:

将放置panel的主窗体doublebuffer设置成true,采用双缓冲机制

不行,还是闪啊

如果说panel比较小的话也不会发生闪烁的,但当Panel大的时候,闪烁的就很厉害
15分
方法就是防止拖动过程中的刷新,具体根据你怎么实现控件而定。
15分
屏蔽拖动时的画面刷新,panel.SuspendLayout() 拖动结束后恢复panel.ResumeLayout()
引用 5 楼 Mackz 的回复:

方法就是防止拖动过程中的刷新,具体根据你怎么实现控件而定。

我设置panel在初始化窗体的时候隐藏,在我的鼠标放在GridView单元格上的时候,设置panel显示,同时Panel也跟随着鼠标移动,所以实现控件就是这个panel?

好吧,暂时还实现不了,那就当鼠标放在GridView某一行时,设置panel在某一个固定的位置显示不来,而不跟随着鼠标移动了,不过还是希望能解决这个panel闪烁问题
楼主解决这个问题没?我也遇到这个问题了

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C#防止panel闪烁
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!