Winfrom 減小控件重繪閃爍的方法

  1. Winform控件的雙緩衝。控件的雙緩衝屬性是隱藏的,能夠經過反射改變其屬性值。
    lv.GetType().GetProperty("DoubleBuffered", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(lv, true, null);
    //lv爲控件名稱

     

  2. 重繪控件的時候開啓控件雙緩衝。
    this.SetStyle(ControlStyles.DoubleBuffer | 
    
          ControlStyles.UserPaint | 
          ControlStyles.AllPaintingInWmPaint,
          true);
    this.UpdateStyles();

     

  3. 經過消息,禁用掉清除背景的消息。(TreeView控件實用)
    protected override void WndProc(ref Message m)
      {
          if (m.Msg == 0x0014) // 禁掉清除背景消息
              return;
          base.WndProc(ref m);
      }
相關文章
相關標籤/搜索