雙緩衝DoubleBuffered解決閃爍問題
一、使用默認的雙緩衝
1 在應用程序中使用雙緩衝的最簡便的方法是使用 .NET Framework 為窗體和控件提供的默認雙緩衝。通過將 DoubleBuffered 屬性設置為 true。
this.DoubleBuffered=true;2 使用 SetStyle 方法可以為 Windows 窗體和所創作的 Windows 控件啟用默認雙緩衝,在窗體或者控件的構造函數中添加如下代碼即可:
SetStyle(ControlStyles.ResizeRedraw,true); SetStyle(ControlStyles.OptimizedDoubleBuffer,true); SetStyle(ControlStyles.AllPaintingInWmPaint,true);
二、案例——TableLayoutPanel使用雙緩衝DoubleBuffered
利用反射機製修改TableLayoutPanel的Protected的DoubleBuffered屬性,在窗體構造函數中加入如下代碼:
tableLayoutPanel1.GetType().GetProperty("DoubleBuffered", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic) .SetValue(tableLayoutPanel1, true, null);

最後更新:2017-04-03 05:39:36
上一篇:
ruby:借助第三方類名如何查找第三方gem名稱(zlib為例)
下一篇:
【轉】POJ 3264 線段樹解法
富士康加入Firefox OS陣營,下周將發布搭載Firefox OS的設備
事務使用時MSDTC不可用解決辦法
pl/sql developer執行光標所在行
java中基於線程池和反射機製實現定時任務
Struts2架構圖解析以及攔截器的理解
CMake中RPATH的處理
Gwibber 中國區登陸twitter,facabook,sina的修改
企業網站推廣需要注意什麼?
後台開發:核心技術與應用實踐1.6.1 結構體、共用體、枚舉的概念
解決方法:java.util.MissingResourceException Can't find bundle for base name