2008-10-20 20 views
8

Làm cách nào để kích hoạt bộ đệm đôi của điều khiển bằng C# (biểu mẫu Windows)?Làm cách nào để kích hoạt bộ đệm đôi của điều khiển bằng C# (biểu mẫu Windows)?

Tôi có một bảng điều khiển mà tôi đang vẽ nội dung và cũng là một điều khiển tab được chủ sở hữu vẽ. Cả hai đều bị nhấp nháy, vậy làm thế nào tôi có thể kích hoạt tính năng đệm đôi?

Trả lời

12

Trong constructor tầm kiểm soát của bạn, thiết lập thuộc tính DoubleBuffered, và/hoặc ControlStyle một cách thích hợp.

Ví dụ, tôi có một DoubleBufferedPanel đơn giản mà constructor như sau:

this.DoubleBuffered = true; 
this.SetStyle(ControlStyles.UserPaint | 
       ControlStyles.AllPaintingInWmPaint | 
       ControlStyles.ResizeRedraw | 
       ControlStyles.ContainerControl | 
       ControlStyles.OptimizedDoubleBuffer | 
       ControlStyles.SupportsTransparentBackColor 
       , true); 
+2

chỉ cần thực hiện thao tác này.DoubleBuffered = true; nói chung là đủ, câu trả lời tốt mặc dù :) –

-1

Sử dụng các tài sản DoubleBuffered, thừa hưởng từ System.Windows.Forms.Control.

System.Windows.Forms.Form myForm = new System.Windows.forms.Form(); 
myForm.DoubleBuffered = true; 
+0

Mã của bạn không biên dịch, thuộc tính DoubleBuffered được bảo vệ. Các op đã có thể kiểm tra các tài sản công cộng trước khi đặt câu hỏi. – ChocapicSz

Các vấn đề liên quan