C#Winform中的子表单工具

时间:2015-06-08 08:28:31

标签: c# winforms

好吧,我正在编写一个简单的应用程序,里面会有多个表单。现在说一个表单将是基本窗口,即父表单,而所有其他表单将是它的子表单。因此,我试图通过以下方法打开子窗口。

//在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。

1 个答案:

答案 0 :(得分:1)

更改:

formReserve.MdiParent = this.MdiParent;

formReserve.MdiParent = this;

NB:您应该使用

formReserve.MdiParent = this.MdiParent; 

当您从另一个子表单中打开子表单以使其在同一MdiParent下。