繁体   English   中英

从拆分器面板中删除后无法显示 winform

[英]Not able to show a winform after removing from splitter panel

我有 2 个表格(Form1 和 Form2)。 Form1 有一个带有两个面板的分离器。 我在拆分器控件的 panel2 中添加了 Form2。 我想在不创建 Form2 的新实例的情况下弹出和弹出 Form2。 请在下面找到代码片段:

public partial class Form1 : Form
{
 private Form2 form2 = null;
 public Form1()
 {
     InitializeComponent();
 }
 private void Form1_Load(object sender, EventArgs e)
 {
        form2 = new Form2();
        form2.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
        form2.Dock = DockStyle.Fill;
        form2.TopLevel = false;
        splitContainer1.Panel2.Controls.Add(form2);
        form2.Pop += new EventHandler(PopForm);
        form2.Show();
 }
 //button click event handler from Form2
 private void PopForm(object sender, EventArgs e)
 {
     Button b = sender as Button;
     if(b.Text.ToUpper() == "POPOUT")
     {
         splitContainer1.Panel2Collapsed = true;
         splitContainer1.Panel2.Controls.Remove(form2);
         //need to show the form without creating a new instance to maintain state
         form2 = new Form2();
         form2.SelectedMailId = 1;
         form2.Pop += new EventHandler(PopForm);
         form2.SetButtonText = "PopIn";
         form2.Show();                
     }
     else
     {
         //this works fine
         splitContainer1.Panel2Collapsed = false;
         form2.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
         form2.Dock = DockStyle.Fill;
         form2.TopLevel = false;
         splitContainer1.Panel2.Controls.Add(form2);
     }
   }
 }

弹出时如何在不创建新实例的情况下显示 Form2?

虽然弹出设置表单边框样式和顶级

 if(b.Text.ToUpper() == "POPOUT")
 {
     splitContainer1.Panel2Collapsed = true;
     splitContainer1.Panel2.Controls.Remove(form2);
     //need to show the form without creating a new instance to maintain state
     form2.TopLevel = true;
     form2.FormBorderStyle = FormBorderStyle.Sizable;
     // setup your settings
     form2.Show();                
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM