我有一个窗体需要置于另外两个窗体之上。该窗体应该能够与它所在的两个窗体中的任意一个最小化。通过使用以下代码,我发现可以实现这一点:
form.Show(null);
然而,form.Show()
不能像预期那样工作。为什么?我知道我将一个 owner 作为参数传递了进去,但是 owner 是 null。那么为什么窗体行为表现正常呢?
IntPtr hWndActive = UnsafeNativeMethods.GetActiveWindow();
IntPtr hWndOwner = owner == null ? hWndActive : Control.GetSafeHandle(owner);
Show(this)
,它会将新窗口显示为当前窗口的子级。否则,当你使用Show()
或Show(null)
时,它将没有父窗口。在某些情况下,父窗口很有用,例如当您希望在显示子窗口时防止用户与父窗口交互时。 - user586399