|
Hallo dotnetpro Leser, bei mir kommt es immer wieder vor, dass die WinForm nicht neu "gezeichnet wird, wenn das Programm einen längeren Prozess ausführt. Gerade will ich über 10.000 E-Mails versenden. Das senden läuft über mehrere Stunden. Nach einer gewissen Zeit, wenn ich auf ein andere Programm gewechselt habe und wieder zurückwechseln will, wird die WinForm nicht neu gezeichnet / aufgebaut. Stattdessen ist der Bildschirm an dieser Stelle schwarz, oder es sind nur die Umrisse des Programms zu sehen. Ich habe schon folgenden Code eingebaut um das Problem zu lösen, leider mit wenig Erfolg. Public Sub New() ' Dieser Aufruf ist für den Windows Form-Designer erforderlich. InitializeComponent() Me.SetStyle(ControlStyles.UserPaint, True) Me.SetStyle(ControlStyles.AllPaintingInWmPaint, True) Me.SetStyle(ControlStyles.DoubleBuffer, True) ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. End Sub Wann kommt dieser Fehler vor: - Nur bei lang laufenden Prozessen - Ich denke wenn sich der Bildschirmschoner oder die Monitor Energieverwaltung eingeschaltet hat. Andere Programme z.B. Word können ihre Formulare neu zeichne / aufbauen.
Frage: Was kann man machen? Da mein Programm schon aus über 100 Formularen und eigenen Steuerelementen besteht, bin ich auch an einer Lösung interessiert, die ich nicht für jedes Formular / Steuerelement einzeln implementieren muss, sondern am besten für alle Formulare des Projects / die von der .exe aufgerufen werden. Oder man kann es zentral von dem .exe Project steuern. Besten Dank,
Rene
|