Statusdialog zeitweise einblenden

10/10/2009 - 16:32 von ChristianH | Report spam
Hi,

ich möchte einen Statusdialog zeitweise einblenden und wieder ausblenden.
Ich wollte dies machen, indem ich einen nicht modalen Dialog bei
Programmstart erzeuge und mit einer Property versehe. In der Property würde
ich über einen delegate (wegen STA; aufruf kann aus einem anderen Thread
erfolgen) ein Label-Control mit einem neuen Statustext befüllen und mit den
Eigenschaften Visible ein- und ausblenden und mit TopMost nach vorne holen.
Gibt es noch ein anderes, eleganteres Verfahren, bzw. bereits etwas vom .NET
Framework (3.5)?

Danke
Christian
 

Lesen sie die antworten

#1 Herfried K. Wagner [MVP]
10/10/2009 - 17:16 | Warnen spam
ChristianH schrieb:
ich möchte einen Statusdialog zeitweise einblenden und wieder ausblenden.
Ich wollte dies machen, indem ich einen nicht modalen Dialog bei
Programmstart erzeuge und mit einer Property versehe. In der Property würde
ich über einen delegate (wegen STA; aufruf kann aus einem anderen Thread
erfolgen) ein Label-Control mit einem neuen Statustext befüllen und mit den
Eigenschaften Visible ein- und ausblenden und mit TopMost nach vorne holen.
Gibt es noch ein anderes, eleganteres Verfahren, bzw. bereits etwas vom .NET
Framework (3.5)?



Warum nicht modal und weshalb in den Vordergrund holen? Eventuell gibt
es eine bessere Lösung (Fortschrittsanzeige in der Statusleiste o.à.).

Schau Dir auf jeden Fall die Komponente BackgroundWorker an. Diese ist
genau für Deinen Zweck gedacht und erledigt den Wechsel zwischen
Arbeitsthread und Benutzerschnittstellenthread automatisch, indem die
Ereignisbehandlungsmethoden automatisch im Kontext des
Benutzerschnittstellenthreads aufgerufen werden.

M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>

Ähnliche fragen