[C#] ChildWindow mit Delay öffnen

Blackhawk50000

Erfahrenes Mitglied
Hallo liebe Kollegen,
ich will ganz schnöde ein Fenster öffnen, dass ich vorher instanziiere.
dieses Fenster soll aber mit einem 2 sekunden delay auf gehen.

Hintergrund. Ich mache Asyncrone methoden aufrufe, die mal schnell und mal langsam gehen. wenn schnell geht, soll nichts angezeigt werden, wenns lange dauert solls angezeigt werden.

das will ich mit so wenig code wie möglich machen.... hat da einer ne idee?
 
Hallo,

rufe nach der Instanziierung nicht "Show" auf, sondern starte im Konstruktor einen Timer, der im entsprechenden Event nach 2 Sek. das Fenster anzeigt.

Gruß
MCoder
 
das ist ne gute idee, nur habe ich eins vergessen... das fenster was ich anzeigen will ist ein ladebalken.
diesen ladebalken muss ich von verschiedenen fenstern aufrufen können und je nach dem wo meine daten ankommen wieder beenden können. da ich also nie genau weiß wo ich im augenblick bin und wo ich meinen ladebalken schließen kann, habe ich diesen ladebalken auf meiner mainpage instanziiert.
diese instanz ladde ich dann von über all aus öffnen und schließen.

wie nun dort ein delay einbauen?
 
Hallo,

dann kannst du den Timer natürlich nicht im Konstruktor zu starten, sondern startest ihn (statt Show) von den Forms, die den Ladebalken anzeigen wollen. Das Schließen ist dann Hide() und Stoppen des Timers.

Gruß
MCoder
 
im grunde ist es so.. ich will meinen Ladebalken von irgendwoher aufrufen und von irgendwo her anders schließen können und das mit einem delay, ohne ihn jedes mal mit new zu instanziieren
 
Instanziieren (ohne ihn anzuzeigen) kannst du ihn ja in deiner MasterPage. Das Anzeigen/Beenden kannst du dann - wie schon vorgeschlagen - über einen Timer realisieren. Du musst nur dafür sorgen, dass alle betreffenen Stellen zum Anzeigen/Beenden auf die entsprechenden Member deiner MasterPage zugreifen können.

Ein anderer Vorschlag: Alle Klassen, die die Ladeform steuern wollen, erzeugen einen Event, den die Ladeform abonniert. Das Objekt der Ladeform instanziierst du dann zweckmäßigerweise auch wieder in der MasterPage.

Gruß
MCoder
 

Neue Beiträge

Zurück