1 添加以下代码:
// 防止闪屏
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x02000000;
return cp;
}
}
经验总结:
1 如果使用此代码了,且部分界面不能显示,就是此代码造成的
a 我在一个界面上用了3个panel,并且每个panel显示编码器的图像,界面切换时发现只有三个panel图像,其他都不见了,我把这个代码去掉后就显示正常了,具体什么原因就不知道了。
b 有一次我给form添加了个背景图片,切换了几次背景不见了,去掉代码就好了
本文介绍了在C#中如何通过双缓冲技术解决WinForm界面闪屏问题,同时指出这种方法可能导致的部分界面元素不显示的弊端。作者分享了遇到的具体问题,如面板图像缺失和背景图片消失,并建议通过单元测试在没有双缓冲的环境中验证功能的正确性。
订阅专栏 解锁全文
807





