打开帮助对话框时不使用';控件父级';在.net中

本文关键字:控件 net 帮助 对话框 | 更新日期: 2023-09-27 18:21:43

我想打开帮助对话框。我正在使用这个电话:

public static void ShowHelp(Control parent, string url);

我通过一个无法访问主控件的类启动它。所以我将null作为父级传递。它看起来确实有效,但我想确保我没有错过任何东西。

这个"父"论点代表什么?.net用它做什么?

将null作为此参数传递安全吗?

我确实在.Net源代码中注意到了这个切换:

if (parent != null) {
            handle = new HandleRef(parent, parent.Handle);
        }
        else {
            handle = new HandleRef(null, UnsafeNativeMethods.GetActiveWindow());
        }

使用"UnsafeNativeMethods"是否安全?

打开帮助对话框时不使用';控件父级';在.net中

父控件确定哪个窗口将拥有该对话框。如果父控件不是窗口,则将使用此控件的最终父控件(应该是窗口)。如果父参数为null,则将选择进程的主窗口(如果有)。

这是必要的,以便对话框可以是模态的,并且在对话框被关闭之前,与父窗口的交互被阻止。