如何关闭父窗体中panel上的子窗体(c#winform)
如果把子窗体直接显示在父窗体中就可以这样写关闭的代码:
private void button2_Click(object sender, EventArgs e)
{
if (this.ActiveMdiChild != null)
{
this.ActiveMdiChild.Close();
}
}
但是现在子窗体是放在父窗体上的panel1中,上面的代码就不管用了,差了很多,没找见答案,求助各位高手了
------解决方案--------------------
实际上你把窗体加入了panel,那么这个窗体已经只是个控件了,和普通的textbox控件没什么两样,那么你能告诉我如何关闭panel中的textbox控件吗,好像没这么一说,因此,实际上关闭panel的中子窗体(form),就是从panel中移除子窗体form:代码如下:
Form2 form = new Form2();//要声明为成员变量哦
//添加进panel的按钮,你应该已经实现了
private void button1_Click_1(object sender, EventArgs e)
{
form.TopLevel = false;//这就是使你窗体变控件的一步
form.Dock = DockStyle.Fill;
form.FormBorderStyle = FormBorderStyle.None;
form.Parent = panel1;//你panel的id
form.Show();
}
//关闭panel中子窗体的按钮
private void button2_Click(object sender, EventArgs e)
{
panel1.Controls.Remove(form);//其实就是一个控件的移除
}