Wie kann ich doppelte Pufferung eines Steuer mit C # (Windows Forms) aktivieren?
-
03-07-2019 - |
Frage
Wie kann ich ermöglichen Double-Buffering einer Steuerung mit C # (Windows Forms)?
Ich habe ein Panel-Steuerelement, das ich Sachen bin Zeichnung in und auch ein Ownerdrawn-Registerkarte. Beide leiden unter Flimmern, so wie kann ich Double-Buffering aktivieren?
Lösung
Im Konstruktor Ihrer Kontrolle, setzen Sie die Eigenschaft DoubleBuffered und / oder Control angemessen.
Zum Beispiel, ich habe eine einfache DoubleBufferedPanel dessen Konstruktor ist die folgende:
this.DoubleBuffered = true;
this.SetStyle(ControlStyles.UserPaint |
ControlStyles.AllPaintingInWmPaint |
ControlStyles.ResizeRedraw |
ControlStyles.ContainerControl |
ControlStyles.OptimizedDoubleBuffer |
ControlStyles.SupportsTransparentBackColor
, true);
Andere Tipps
einige Infos hier:
Wie Puffer .NET-Steuerelemente in einem Formular verdoppeln?
Verwenden Sie die Eigenschaft DoubleBuffered vom System.Windows.Forms.Control geerbt.
System.Windows.Forms.Form myForm = new System.Windows.forms.Form();
myForm.DoubleBuffered = true;
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow