在尝试隐藏和显示子表单时如何避免在主表单中闪烁

时间:2016-02-16 10:22:21

标签: .net winforms c#-4.0

要求是通过将现有子项隐藏在主窗体中来显示子窗体。

它的工作正常,但主要形式的闪烁上升。请分享一些建议。

     void Form1Btn_Click(object sender, System.EventArgs e)
    {            
        var form2 = new Sample2Form();
        this.Hide();
        form2.ShowDialog(mainform);
    }

1 个答案:

答案 0 :(得分:0)

您可以将内容添加到UserControl。因此,您拥有每个表单的UserControl。

然后创建一个带有(根)面​​板的根表单。

要在表单中显示创建的UserControl,请执行以下操作:

rootPanel.Controls.Add(yourUserControl);

当您现在想要在两个UserControl之间切换时,可以使用子UserControl替换rootPanel的内容:

rootPanel.Controls.Clear();
rootPanel.Controls.Add(yourChildControl);