Form Showdialog und TopMost zusammen

07/12/2007 - 14:40 von Bruno Polder | Report spam
Hallo,

in meiner MDI Anwendung soll ein Formular implementiert werden, dass
stàndig im Vordergrund bleibt und sich alle paar Minuten automatisch
aktualisiert. Nebenbei soll der Benutzer, unabhàngig davon, auf alle
anderen Formulare in der Anwendung zugreifen können (Form.TopMost=True).
Klappt soweit auch ganz gut, wenn ich jedoch ein anderes Formular mit
.ShowDialog() öffne, erhàlt das "TopMost Formular" logischerweise nicht
mehr den Focus.
Gibt es eine Möglichkeit, das Formular so zu öffnen, dass es stets
bearbeitbar ist, unabhàngig, ob ich einen Dialog offen habe oder nicht?

Vielen Dank schonmal
Bruno
 

Lesen sie die antworten

#1 Armin Zingler
07/12/2007 - 15:17 | Warnen spam
"Bruno Polder" schrieb
Hallo,

in meiner MDI Anwendung soll ein Formular implementiert werden, dass
stàndig im Vordergrund bleibt und sich alle paar Minuten automatisch
aktualisiert. Nebenbei soll der Benutzer, unabhàngig davon, auf alle
anderen Formulare in der Anwendung zugreifen können
(Form.TopMost=True). Klappt soweit auch ganz gut, wenn ich jedoch
ein anderes Formular mit .ShowDialog() öffne, erhàlt das "TopMost
Formular" logischerweise nicht mehr den Focus.
Gibt es eine Möglichkeit, das Formular so zu öffnen, dass es stets
bearbeitbar ist, unabhàngig, ob ich einen Dialog offen habe oder
nicht?



Ungetestet: Starte einen neuen Thread, in dem das topmost-Formular angezeigt
wird. Beachte dabei die Grundregel, dass auf ein Formular nur in dem Thread
zugegriffen werden kann, der das Formular erzeugt hat. Ansonsten muss die
Invoke/Begininvoke-Methode verwendet werden. Diskussionen dazu siehe diese
Gruppe (suche: Invoke, Begininvoke)


Armin

Ähnliche fragen