I have a Form that needs to sit on top of two other forms. It should also minimize with one of the two forms it sits above. I found that this works as described when I do
form.Show(null);
However, form.Show() does not work as described. Why? I realize I am passing an owner as the parameter, but the owner is null. So why does the form behave correctly?
Note that Show() is a method on the Control class and Show(IWin32Window) is a method on the Form class. This is the baked-in behavior of the Show(IWin32Window) method — if the owner is null, the active window is used as the owner. Control.Show() has no concept of Owner. You can confirm via the MS reference source or a decompiler.