26 Stimmen

Warum ein eigenes Fenster in MessageBox.Show verwenden?

MessageBox.Show hat Formen wie MessageBox.Show( ownerWindow, .... ).

Was bringt mir die Zuweisung eines eigenen Fensters?

0voto

Wenn ich mich nicht irre, verhindert dies, dass der Besitzer des Fensters Focus(), bis die Messagebox geschlossen ist.

0voto

jyoung Punkte 4963

Mit Net Reflector habe ich gerade diesen Code in Messagebox.Show gefunden:

else if (owner == IntPtr.Zero)
    owner = UnsafeNativeMethods.GetActiveWindow();

Wenn Sie also die Eigentümerschaft nicht verschachtelt haben (window--(owns)-->window--(owns)->messageBox), wird durch das Weglassen von ownerWindow der Eigentümer festgelegt, den Sie normalerweise wählen würden.

0voto

Tim Gradwell Punkte 2302

Die Dokumentation scheint anzudeuten, dass der einzige Zweck des Parameters owner darin besteht, dass die Messagebox bei Angabe von MB_HELP weiß, an welches Fenster sie die WM_HELP-Nachricht senden soll.

http://msdn.microsoft.com/en-us/library/ms645505%28VS.85%29.aspx


Oh, ich habe gerade gemerkt, dass es im OP um .net ging - ich habe eine Antwort über winapi gegeben - sorry!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X