下面的代码到底是哪里出现问题

那位大神来看看下面的代码是哪里出了问题,我想实现的是在子窗体中点击一个按钮(pleacebutton)触发一个_公共类_中的方法(show _ Control)。
这个方法的功能是在父窗体的Panel控件中Close()当前窗体show()另一个子窗体。但是执行了没效果。我就想知道是哪里出问题了,如果可以的话,麻烦贴一下修改方法

private void pleacebutton_Click(object sender, EventArgs e)
{
string str1 = "申请";
Form1 form1 = new Form1();
Panel pan = new Panel();
foreach (Control item in form1.Controls)
{
  if (item.GetType().Name=="Panel")
{
            pan = (Panel)item;
            form1.Controls.Add(pan);
            pleacebutton.Text = pan.Name;
        }
    }
    mymo.Show_Control(MyMeans.leave, str1, pan);//公共类方法


} 
        public void Show_Control(int leave, string name, Control con)
{
    if (leave == 3)
    {
        if (name == "申请")
        {

            worker3.please form = new worker3.please();
            form.TopLevel = false;
            form.FormBorderStyle = FormBorderStyle.None;
            con.Controls.Add(form);
            form.Show();
        }
    }
}

添加代码没问题,你在仔细调试一下吧

 Form1 frm = new Form1();
            frm.TopLevel = false;
            panel2.Controls.Add(frm);
            frm.Show();

我最奇怪的是
form1.Controls.Add(pan);
pan已经是form1中的了,干嘛还要add