好吧,我正在编写一个简单的应用程序,里面会有多个表单。现在说一个表单将是基本窗口,即父表单,而所有其他表单将是它的子表单。因此,我试图通过以下方法打开子窗口。
//在FormBaseWindow类中
private void linkLabelReservation_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
Point childLocation = new Point(this.Location.X + 100, this.Location.Y + 120);
FormReservation formReserve = new FormReservation();
formReserve.Location = childLocation;
formReserve.MdiParent = this.MdiParent;
formReserve.Show();
}
并将FormBaseWindow类的IsMdiContainer属性设置为true。现在的事情是,我想要感觉像拖动FormBaseWindow窗口将拖动包括子窗口在内的整个事物。目前,一旦我点击FormBaseWindow窗口,它即将到来的前景,孩子就会落后于它。
在MFC中,我可以通过设置窗口样式Child并将其设置为子窗口来实现,但这里的故事有点不同。
我在VS 2012中使用C#Winforms。
答案 0 :(得分:1)
更改:
formReserve.MdiParent = this.MdiParent;
到
formReserve.MdiParent = this;
NB:您应该使用
formReserve.MdiParent = this.MdiParent;
当您从另一个子表单中打开子表单以使其在同一MdiParent
下。