Form.Show(null)是什么意思?

P.B*_*key 3 c# winforms

我有一个表格,需要坐在其他两个表格之上.它也应该最小化它位于上面的两种形式之一.我发现这就像我所说的那样有效

form.Show(null);

但是,form.Show()如上所述不起作用.为什么?我意识到我将所有者作为参数传递,但所有者为null.那么为什么表单表现正常呢?

rok*_*ken 10

请注意,Show()是Control类的一个方法,Show(IWin32Window)是Form类的一个方法.这是Show(IWin32Window)方法的烘焙行为 - 如果所有者为null,则活动窗口将用作所有者.Control.Show()没有Owner的概念.您可以通过MS参考源或反编译器进行确认.

IntPtr hWndActive = UnsafeNativeMethods.GetActiveWindow();
IntPtr hWndOwner = owner == null ? hWndActive : Control.GetSafeHandle(owner); 
Run Code Online (Sandbox Code Playgroud)