儿童形式遵循主要形式

时间:2011-12-27 13:31:02

标签: .net winforms

如何使子表单遵循主表单。

例如:打开winform [.net2],winform打开表单,如果mainform正在移动,则表单跟随mainform。

enter image description here

2 个答案:

答案 0 :(得分:2)

使用MainForm中的LocationChanged事件始终设置ChildForm的位置。

工作示例:

Form childForm = new Form();

public Form1() {
  InitializeComponent();

  childForm.Width = this.Width;
  childForm.Height = 96;
  childForm.Location = new Point(this.Left, this.Bottom);
  childForm.Show();
  this.LocationChanged += Form1_LocationChanged;
}

private void Form1_LocationChanged(object sender, EventArgs e)
{
  if (childForm != null)
      childForm.Location = new Point(this.Left, this.Bottom);
}

答案 1 :(得分:0)

表面上简单的答案就是在移动或调整Mainform时添加处理程序,然后相应地设置子窗体位置和大小。

但是你说要停止主窗体移动,以便子窗体最终关闭屏幕。 儿童形式能独立移动吗? 最小化和最大化怎么办?

你可能想要其他安排,不只是一个孩子,左右,儿童形式在主要形式之上......

值得写一个布局类,把所有这些东西都推到它上面。