korsosjosi
Grünschnabel
Hallo!
In einer WindowsForm Player habe ich eine ControlCollection mit einigen Controls. In diesen Controls laufen Videos, werden Bilder gezeigt usw. Es passiert nun während dem Abspielen, dass sich die Controls verändern. Wenn ich mittels Player.Dispose() die WindowsForm ganz eliminiere und diese erneut öffne, bekomme ich zwischen den Anzeigen kurzzeitig eine unerwünschte Lücke. Schöner wäre es also, nur die Controls aus dem Player zu löschen und die neuen Controls zu erzeugen.
Das Erzeugen funktioniert schön, beim Löschen allerdings flackert der Bildschirm dort, wo die Controls gelöscht werden, ein - zwei Sekunden lang. Ich lösche die Controls mittels:
foreach (Control control in Controls)
{
control.Visible = false;
this.Controls.Remove(control);
}
oder
this.Controls.Clear();
Beide Wege führen zum gleichen Ergebnis. Meine Frage nun: Gibt es eine elegantere Lösung, die Controls zu löschen bzw. eine Lösung, in der ein Flackern verhindert wird?
Vielen Dank im Vorhinein
lg
In einer WindowsForm Player habe ich eine ControlCollection mit einigen Controls. In diesen Controls laufen Videos, werden Bilder gezeigt usw. Es passiert nun während dem Abspielen, dass sich die Controls verändern. Wenn ich mittels Player.Dispose() die WindowsForm ganz eliminiere und diese erneut öffne, bekomme ich zwischen den Anzeigen kurzzeitig eine unerwünschte Lücke. Schöner wäre es also, nur die Controls aus dem Player zu löschen und die neuen Controls zu erzeugen.
Das Erzeugen funktioniert schön, beim Löschen allerdings flackert der Bildschirm dort, wo die Controls gelöscht werden, ein - zwei Sekunden lang. Ich lösche die Controls mittels:
foreach (Control control in Controls)
{
control.Visible = false;
this.Controls.Remove(control);
}
oder
this.Controls.Clear();
Beide Wege führen zum gleichen Ergebnis. Meine Frage nun: Gibt es eine elegantere Lösung, die Controls zu löschen bzw. eine Lösung, in der ein Flackern verhindert wird?
Vielen Dank im Vorhinein
lg