Ich habe Code, der ein Meldungsfeld öffnet:
%Vor%Mein Problem ist, wenn diese Popup-App in der Regel auf das Tray minimiert wird. Dadurch kommt die MessageBox nicht nach vorne und erscheint auch nicht entlang der Startleiste. Die einzige Möglichkeit, es zu sehen, ist das Alt-Tabbing.
Hier ist der Code, der meine App (die Eltern) auf das Fach minimiert:
%Vor% Es gibt ein zusätzliches Flag, das Sie als Option für das Standard-Windows angeben können MessageBox
-Funktion , die nicht im WinForms-Wrapper verfügbar gemacht wird.
Was Sie suchen, heißt MB_TOPMOST
. Dadurch wird sichergestellt, dass das Nachrichtenfenster als oberstes Fenster über allem auf Ihrem Desktop angezeigt wird. Ändern Sie einfach Ihren Code wie folgt:
Der richtige Weg, dies zu tun, ist den Besitzer der MessageBox zu setzen
MessageBox über allen Fenstern (kein Tray-Icon):
%Vor%MessageBox und Ihre App über allen Fenstern (kein Taskleistensymbol):
%Vor%MessageBox über allen Fenstern, plus Tray-Icon (App verliert den Fokus):
%Vor% MessageBoxButtons.OK
und boxIcon
sind optionale Argumente in den ersten beiden.
Das Setzen von TopLevel bewirkt kein Anthing; es ist schon wahr.
Es gibt keine direkte Möglichkeit, eine MessageBox auf dem übergeordneten Formular zu zentrieren. (Außer vielleicht Zentrierung des Elternformulars.)
Tags und Links .net c# winforms system-tray messagebox