2008-10-20 19 views
7

Vì vậy, transparent background problem được giải quyết. Bây giờ, mỗi lần tôi thể hiện hình thức (hoặc phải làm lại nó), tôi nhận được rất nhiều nhấp nháy. Có cách nào tôi không thể cập nhật màn hình cho đến khi sự kiện sơn hoàn thành hay bất kỳ cách nào khác để dừng 1/2 giây nhấp nháy và nhấp nháy trong khi tất cả các đối tượng đang được vẽ?Làm thế nào để tránh nhấp nháy màn hình khi hiển thị biểu mẫu với các điều khiển được người dùng vẽ?

TRẢ LỜI: Đệm đôi là cách để thực hiện. Tôi đã được tăng gấp đôi đệm trên điều khiển, nhưng nó phải được đặt trên biểu mẫu. Tôi mặc dù bộ đệm đôi chỉ hoạt động khi bạn đang tự phân lớp OnPaint.

Trả lời

10

Bạn đã thử đặt thuộc tính DoubleBuffered cho biểu mẫu chưa?

2

Đặt thuộc tính DoubleBuffered trên biểu mẫu.

5

Đệm đôi có thể hữu ích, một điều khác bạn có thể muốn thử là:

SuspendLayout();

dostuffhere ...

ResumeLayout();

+2

DoubleBuffered _increases_ yêu cầu tài nguyên, nhưng có nhiều khả năng có hiệu quả hơn. Tạm ngưng/ResumeLayout() _reduce_ yêu cầu tài nguyên, nhưng ít có khả năng có hiệu lực. –

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