Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Bei der doppelten Pufferung wird ein Speicherpuffer verwendet, um die Flackerprobleme im Zusammenhang mit mehreren Lackiervorgängen zu beheben. Wenn die doppelte Pufferung aktiviert ist, werden alle Zeichenoperationen anstelle der Zeichenoberfläche auf dem Bildschirm zunächst in einen Arbeitsspeicherpuffer gerendert. Nachdem alle Malarbeiten abgeschlossen sind, wird der Speicherpuffer direkt auf die damit verknüpfte Zeichnungsoberfläche kopiert. Da nur ein Grafikvorgang auf dem Bildschirm ausgeführt wird, wird das Bildflimmern, das mit komplexen Malvorgängen verbunden ist, eliminiert. Für die meisten Anwendungen stellt die standardmäßige doppelte Pufferung, die vom .NET Framework bereitgestellt wird, die besten Ergebnisse bereit. Standardmäßig sind die Steuerelemente von Windows Forms doppelt gepuffert. Sie können die standardmäßige Doppelpufferung in Formularen und erstellten Steuerelementen auf zwei Arten aktivieren. Sie können entweder die DoubleBuffered-Eigenschaft auf true
festlegen oder die SetStyle-Methode aufrufen, um das OptimizedDoubleBuffer-Flag auf true
festzulegen. Beide Methoden ermöglichen die standardmäßige Doppelpufferung für Ihr Formular oder Steuerelement und bieten flackerfreies Grafik-Rendering. Das Aufrufen der SetStyle-Methode wird nur für benutzerdefinierte Steuerelemente empfohlen, für die Sie den gesamten Renderingcode geschrieben haben.
Für komplexere Szenarien mit doppelter Pufferung, z. B. Animation oder erweiterte Speicherverwaltung, können Sie ihre eigene Doppelpufferlogik implementieren. Weitere Informationen finden Sie unter So verwalten Sie gepufferte Grafiken manuell.
So reduzieren Sie das Flimmern
Legen Sie die DoubleBuffered-Eigenschaft auf
true
fest.DoubleBuffered = true;
DoubleBuffered = True
-oder-
Rufen Sie die SetStyle-Methode auf, um das OptimizedDoubleBuffer-Flag auf
true
festzulegen.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
SetStyle(ControlStyles.OptimizedDoubleBuffer, True)
Siehe auch
.NET Desktop feedback