是否可以在c#visual studio windows窗体中更改页面而不会让用户注意到页面更改?
我尝试使用以下代码通过menustrip更改表单:
Form2 form2 = new Form2();
form2.Show();
this.Hide();
但屏幕闪烁!
答案 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;
在某处你必须确定下一页的编号。