In winforms we have objForm.Owner and objForm.Parent. Whats the difference between these two.
I opened a form B from form A as a dialog and was expecting to access form A's public properties from form B using ParentForm property but finally ended up using Owner property instead as ParentForm was null !!
A parent-child relationship exists between windows when the child is embedded in the parent window and cannot move outside of its bounds. Examples are child controls like TextBox and Panel. And the MDI windowing model, MDI child windows are embedded in the MDI parent and parented to the dark-gray MDI client window.
An owned window applies to top-level windows and primarily controls their Z-order. An owned window is always on top of its owner. It is also minimized and restored along with its owner. Examples are tool windows and dialogs.
Note how a Form is normally a top-level window and does not have a parent. So wouldn't have a use for its Parent and ParentForm properties. It can however be turned into a child window by setting its TopLevel property to false. Sample code is here.
Form.Owner - Is the Form that "owns" this form. For example Find/Replace dialog would be Owned by Notepad's main window. If you minimize the main Form, the owned form will minimize, if you restore the main form, the owned form will restore
ContainerControl.ParentForm - Is the Form that this ContainerControl is ultimately placed on
Check this article. Their is explained Parent too.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With