【问题标题】:Whats the difference between Parentform and OwnerParentform和Owner有什么区别
【发布时间】:2015-02-07 00:46:08
【问题描述】:

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

我从表单 A 作为对话框打开了表单 B,并希望使用 ParentForm 属性从表单 B 访问表单 A 的公共属性,但最终使用 Owner 属性代替,因为 ParentForm 为空!!

【问题讨论】:

标签: c# winforms


【解决方案1】:

当子窗口嵌入在父窗口中并且不能移动到其边界之外时,窗口之间存在父子关系。例如 TextBox 和 Panel 等子控件。和 MDI 窗口模型一样,MDI 子窗口嵌入在 MDI 父窗口中,并作为深灰色 MDI 客户端窗口的父窗口。

拥有的窗口适用于顶级窗口,主要控制它们的 Z 顺序。拥有的窗口始终位于其所有者之上。它也与它的主人一起被最小化和恢复。例如工具窗口和对话框。

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

【讨论】:

    【解决方案2】:

    Form.Owner - 是“拥有”此表单的表单。例如,查找/替换对话框将归记事本的主窗口所有。如果你 最小化主窗体,拥有的窗体将最小化,如果你恢复 主窗体,拥有的窗体将恢复

    ContainerControl.ParentForm - 是这个 ContainerControl 最终放置的 Form

    检查此article。他们也被解释为父母。

    【讨论】:

      猜你喜欢
      • 2019-07-22
      • 1970-01-01
      • 2010-10-02
      • 2011-12-12
      • 2010-09-16
      • 2012-03-14
      • 2012-02-06
      • 2011-02-25
      • 2011-11-22
      相关资源
      最近更新 更多