如何使子表单遵循主表单。
例如:打开winform [.net2],winform打开表单,如果mainform正在移动,则表单跟随mainform。
答案 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时添加处理程序,然后相应地设置子窗体位置和大小。
但是你说要停止主窗体移动,以便子窗体最终关闭屏幕。 儿童形式能独立移动吗? 最小化和最大化怎么办?
你可能想要其他安排,不只是一个孩子,左右,儿童形式在主要形式之上......
值得写一个布局类,把所有这些东西都推到它上面。