C # MessageBox nach vorne, wenn App in den Tray minimiert wird

8

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%     
Luke Belbina 29.01.2011, 02:50
quelle

5 Antworten

17

Du kannst es so versuchen

%Vor%     
anishMarokey 29.01.2011, 03:01
quelle
26

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:

%Vor%     
Cody Gray 29.01.2011 03:25
quelle
2

Ich brauchte das nur zum Testen, also wenn es dir nichts ausmacht extra kitschig zu sein, MessageBoxOptions.ServiceNotification wird den Trick machen ...

%Vor%     
Steve 15.04.2016 18:01
quelle
0

Der richtige Weg, dies zu tun, ist den Besitzer der MessageBox zu setzen

    
Paul Baxter 15.04.2016 23:58
quelle
0

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.)

    
A876 28.07.2017 21:10
quelle