C#浏览表单

C#浏览表单,c#,forms,hide,show,C#,Forms,Hide,Show,在c#visual studio windows窗体中,用户是否可以在未注意到页面更改的情况下更改页面 我尝试使用以下代码通过menustrip更改表单: Form2 form2 = new Form2(); form2.Show(); this.Hide(); 但是屏幕会闪烁 表单不是页面。如果您想将不同的内容显示为页面,那么最好将“页面”创建为UserControls。创建它们非常像表单。然后将其中一个放置在Dock属性设置为Fill的表

在c#visual studio windows窗体中,用户是否可以在未注意到页面更改的情况下更改页面

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

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

但是屏幕会闪烁

表单不是页面。如果您想将不同的内容显示为页面,那么最好将“页面”创建为
UserControls
。创建它们非常像
表单
。然后将其中一个放置在
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;

此外,您还需要确定下一页的页码。

为什么要这样做?用Form2启动应用程序。无需更改。您的意思是,闪烁只发生一次,但您甚至不希望这一次闪烁?您可以使用
面板
,隐藏并显示它们,使其像表单一样。您是否可以使用TabControl?我是否可以创建类似TabControl的页面,但不使用“tab”?