我在C#.NET中为子表单创建了一个对象数组。现在我需要复制活动子表单上的某些控件。但是this.ActiveMdiChild属性返回null。在添加控件之前,将禁用主窗体并弹出另一个窗体。 在关闭该表单时,将启用主窗体及其所有控件,并添加控件。
//代码
private void pictureBox1_Click(object sender, EventArgs e)
{
this.Enabled = false;
Properties_Form pf = new Properties_Form(this);
pf.Location = panel4.Location;
pf.Show();
//code to paste the control
PictureBox pbx = new PictureBox();
NewVDrawWindow nvd = (NewVDrawWindow)this.ActiveMdiChild;
nvd.Controls["tabControl1"].Controls["tabPage2"].Controls.Add(pbx);
...
}
插入控件的代码在show方法之后以相同的方法编写,因为我假设控件将返回到跳转的位置。 复制控件的代码工作正常。它没有问题。 那里的错误是由于禁用n启用表单吗?.Plz help !!
答案 0 :(得分:1)
您应该设置子表单的MdiParent
属性,以使其成为表单的MDI子级:
private void pictureBox1_Click(object sender, EventArgs e)
{
Properties_Form pf = new Properties_Form();
pf.MdiParent = this; // <-- you need this
pf.Show();
}