【C#机房重构】----点击菜单中按钮实现子窗体显示

【需求】

   点击菜单中按钮实现子窗体的一个显示,前提:使用c#语言进行开发,使用MDI窗体且使用了Panel容器。

【方法】

   在给出大家正确的解决方法之前,我会把网络上边那些有问题的方法给大家列举出来。
  有问题方法一:

private void button1_Click(object sender, EventArgs e)
{
    form2 f2 =new form2();
    f2.mdiparent=main;
    f2.show();
}

  有问题方法二:

private void button1_Click(object sender, EventArgs e)
{
    form2 f2 =new form2();
    f2.TopLevel=false;
    panel1.controls.Add(f2);
    f2.show();
}

  剩下还有好几个和上边两个类似的代码,他们也能使用,但是和我们的需求不同。我们需要的是菜单的一个点击事件,所以使用上边的代码就不能实现他的功能。所以有了如下的方法。
  正确方法:
  首先要引用命名空间和声明SetParent函数,如下图:
这里写图片描述
  接下来是点击事件的代码:

private void button1_Click(object sender, EventArgs e)
{
   Form2 f2 = new Form2();
   f2.MdiParent = this;
   f2.Show();
   SetParent((int)f2.Handle, (int)this.Handle);
}

【感受】

  山重水复疑无路,柳暗花明又一村。坚持就是胜利!!!!

猜你喜欢

转载自blog.csdn.net/mabanana/article/details/80271634