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

标签 c# winforms

我有一个表单需要位于其他两个表单之上。它还应该使用它位于上方的两种形式之一最小化。当我这样做的时候,我发现它是按照描述工作的

form.Show(null);

但是,form.Show() 并不像描述的那样工作。为什么?我意识到我将所有者作为参数传递,但所有者为空。那么为什么表单会正确运行呢?

最佳答案

请注意,Show() 是 Control 类上的一个方法,而 Show(IWin32Window) 是 Form 类上的一个方法。这是 Show(IWin32Window) 方法的内置行为——如果所有者为空,则事件窗口用作所有者。 Control.Show() 没有所有者的概念。您可以通过MS reference确认源代码或反编译器。

IntPtr hWndActive = UnsafeNativeMethods.GetActiveWindow();
IntPtr hWndOwner = owner == null ? hWndActive : Control.GetSafeHandle(owner); 

关于c# - Form.Show(null) 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12982105/

相关文章:

c# - 添加在 Visual Studio 2017 RC 中构建 .NET Core 项目后运行的 msbuild 任务

c# - 重载 2 个具有相同名称和相同参数类型的方法

c# - 从一开始就隐藏我的窗口?

winforms - 使用嵌入式 sqlite 部署 winform 应用程序

c# - 给菜单项添加点击事件

c# - 无法找到自动创建的数据库

c# - WCF Web 服务调用超时

c# - SignalR .Net 客户端 : How do I send a message to a Group?

c# - 使用滚动条获取光标在面板上的位置

c# - 如何动态获取文本框中datagridview列的总和