18 Mart 2009 Çarşamba

Windows Panel'e Double Buffering özelliği verme

Windows Formlara double buffering özelliği vermek için aşağıdaki kodları kullanıyorduk.

SetStyle(ControlStyles.UserPaint, true);

SetStyle(ControlStyles.AllPaintingInWmPaint, true);

SetStyle(ControlStyles.DoubleBuffer, true);

Aynı kullanımı panel için yapmak istediğimizde ne yazık ki istediğimiz metot gelmiyor.Bunun nedeni SetStyle metodunun protected olarak tanımlanması.Bizim yapmamız gereken ise panel'den türeyen bir sınıf yaratmak ve bu sınıfın constructor'ın da gereken metotları yazarak istediğimiz yere bu sınıfı yerleştirmek olacak.


class DoubleBufferPanel:System.Windows.Forms.Panel

{

public DoubleBufferPanel()

{

SetStyle(ControlStyles.UserPaint, true);

SetStyle(ControlStyles.AllPaintingInWmPaint, true);

SetStyle(ControlStyles.DoubleBuffer, true);

}

}

0 yorum: