閱讀477 返回首頁    go 小米6 go 小米MIX


雙緩衝DoubleBuffered解決閃爍問題

一、使用默認的雙緩衝

1 在應用程序中使用雙緩衝的最簡便的方法是使用 .NET Framework 為窗體和控件提供的默認雙緩衝。通過將 DoubleBuffered 屬性設置為 true。     

this.DoubleBuffered=true;  
使用 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

  上一篇:go ruby:借助第三方類名如何查找第三方gem名稱(zlib為例)
  下一篇:go 【轉】POJ 3264 線段樹解法