C#在表单中导航

本文关键字:导航 表单 | 更新日期: 2023-09-27 18:21:49

是否可以在用户没有注意到页面更改的情况下更改c#visualstudiowindows窗体中的页面?

我试着用以下代码通过菜单条更改表单:

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

但是屏幕在闪烁!

C#在表单中导航

表单不是页面。如果您想将不同的内容显示为页面,那么最好将"页面"创建为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;

此外,您还必须确定下一个页码。