C#浏览表单

时间:2014-09-13 16:16:57

标签: c# forms hide show

是否可以在c#visual studio windows窗体中更改页面而不会让用户注意到页面更改?

我尝试使用以下代码通过menustrip更改表单:

Form2 form2 = new Form2();
            form2.Show();
            this.Hide();  

但屏幕闪烁!

1 个答案:

答案 0 :(得分:1)

表单不是页面。如果你想将不同的内容显示为页面,那么你最好不要创建你的"页面"为UserControls。您创建它们就像Forms一样。然后将其中一个放在Dock属性设置为Fill的表单上。当您想要显示另一个页面时,请用另一个页面替换用户控件。

更改页面:

Control page = null;
switch (pageNumber) {
    case 1:
        page = new UserControl1();
        break;
    case 2:
        page = new UserControl2();
        break;
}
page.Dock = DockStyle.Fill;
if (previousPage != null) {
    frm.Controls.Remove(previousPage);
}
frm.Controls.Add(page);
previousPage = page;

您必须在表单中定义:

private Control previousPage;
private int pageNumber = 1;

在某处你必须确定下一页的编号。