天天看点

Winform中实现Panel中嵌套Form窗体

今天做项目的时候遇到一个问题:在界面左边的菜单栏点击按钮,右边区域动态加载对应的窗口。几经测试,最终使用Panel+Form的方式实现,在此做个记录:

  1. 移除控件(单项点击没毛病,多项目点击一定要移除)
    this.panel1.Controls.Clear();
               
  2. 设置窗体为非顶级窗体
    form1.TopLevel = false;
               
  3. 设置窗体没有边框
    form1.FormBorderStyle = FormBorderStyle.None;
               
  4. 设置窗体填充整个Panel
    form1.Dock = System.Windows.Forms.DockStyle.Fill;
               
  5. 将窗体添加至Panel
    this.panel1.Controls.Add(form1);
               
  6. 将窗体显示
    form1.Show();