猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
如何在窗体上双缓冲.NET控件?
如何在窗体上双缓冲.NET控件?
如何设置受保护的
DoubleBuffered
窗体上受闪烁影响的控件的属性?
牧羊人nacy
浏览 828
回答 3
3回答
holdtom
查帐这条线重复这个答案的核心,您可以在窗口上打开WS_ex_Composed样式标志,以获得窗体及其所有控件的双缓冲。自XP以来,样式标志可用。这并不能使绘画更快,但整个窗口是绘制在一个屏幕外的缓冲区,并一刀切地闪现到屏幕上。使它在用户的眼睛看起来即时没有可见的绘画文物。它并不是完全没有麻烦,一些视觉样式渲染器可以在它上故障,特别是TabControl,当它有太多的标签。YMMV。将此代码粘贴到窗体类中:protected override CreateParams CreateParams { get { var cp = base.CreateParams; cp.ExStyle |= 0x02000000; // Turn on WS_EX_COMPOSITED return cp; } }这种技术和Winform的双缓冲支持之间最大的区别是Winform的版本只在一个控件上工作。您仍然会看到每个单独的控件绘制本身。这看起来也像闪烁的效果,特别是如果未绘制的控制矩形与窗口的背景形成了严重的对比。
0
0
0
慕虎7371278
System.Reflection.PropertyInfo aProp = typeof(System.Windows.Forms.Control) .GetProperty("DoubleBuffered", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);aProp.SetValue(ListView1, true, null);伊恩有关于在终端服务器上使用此功能的更多信息。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
C#
typedef入门问题
1 回答
.NET
.net 中 字符串含有超链接,如何给超链接自动加上a标签?
1 回答
请问.net 中用jquery传值安全吗?
2 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续