在winforms中,我们有objForm.Owner和objForm.Parent。两者之间有什么区别。

我从窗体A打开了窗体B作为对话框,希望使用ParentForm属性从窗体B访问窗体A的公共(public)属性,但最终由于ParentForm为null而最终使用Owner属性!

最佳答案

当子项嵌入父窗口并且不能移出其边界时,子窗口之间会存在父子关系。示例是诸如TextBox和Panel之类的子控件。在MDI窗口模型中,MDI子窗口嵌入在MDI父窗口中,并以深灰色MDI客户端窗口作为父窗口。

拥有的窗口适用于顶层窗口,并主要控制其Z顺序。拥有的窗口始终位于其所有者的顶部。它还被最小化并与其所有者一起恢复。示例是工具窗口和对话框。

请注意,窗体通常是顶级窗口并且没有父窗口。因此,将不会对其Parent和ParentForm属性使用。但是,可以通过将其TopLevel属性设置为false来将其变成子窗口。示例代码is here

10-04 23:14