Yes, correct. But you can use the owner. If you change the test like this:
new GrandChildWindow().Show(this); ... var parentName = "null"; if (this.Owner != null) parentName = this.Owner.ToString(); label2.Text = parentName;
You’ll get the owner of the grandchild form.
There is one aspect of the form ownership that is not working well, when a form is activated it should bring to top and in front of it the forms that it owns.
Also, a form can be created as a child control of another form. If you set the TopLevel property to false you can assign the Parent of a form and it will behave just like any child control.
When the form is an Mdi Child, the Parent property should refer to the MdiClient control, TopLevel is still false in this case, but IsMdiChild is true.
This reports concerns the Parent property of Forms. I was under the impression that Windows Forms fills the Parent property of Forms. I just checked and it doesn’t. So Wisej behaves like it should.