KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I presume a winform's owner can be set explicitly via the .Owner property OR by passing the owner in the overloaded method ShowDialog(IWin32Window owner) I am unable to understand why these methods exhibit different behavior when working with MDI forms . I have created an MDIParent and an MDIChild. I also have a simple winform MyDialogBox that displays its owner on load. MessageBox.Show("Dialog's owner is " + this.Owner.Name); Method A - In the load of MDIChild I have the following code, which causes the MyDialogBox's owner to be set to MDIChild MyDialogBox box = new MyDialogBox(); box.Owner = this; // Set owner as MDIChild box.ShowDialog(); Method B - Alternatively, in the load method of MDIChild I have the following code, which causes the MyDialogBox's owner to be set to MDIParent MyDialogBox box = new MyDialogBox(); box.ShowDialog(this); // Pass MyMDIChild as owner I also read the following here Only the MDI parent form can own another form, be it a MDI child, a modal dialog or a form where the parent was set as the Owner param. If so Method A should not work at all, isn't it ? What am I missing? Why doesn't method B set the owner to MDIChild ?
Tags (comma-separated)
Save Edits
Cancel