打开帮助对话框时不使用';控件父级';在.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"是否安全?
父控件确定哪个窗口将拥有该对话框。如果父控件不是窗口,则将使用此控件的最终父控件(应该是窗口)。如果父参数为null,则将选择进程的主窗口(如果有)。
这是必要的,以便对话框可以是模态的,并且在对话框被关闭之前,与父窗口的交互被阻止。