2012-01-09 24 views
1

在WPF平台中嵌入了页面类和导航功能。我正在开发一个Window窗体应用程序,并需要类似的功能。在不同的表单之间模拟导航的简单而流畅的方式是什么?或者也许应该有一个表单和一些容器在里面?我怎样才能实现导航功能?在Winforms中模拟页面之间的导航

回答

1

创建一个面板和Dock它到Fill

然后BringToFront面板。

为每个需要的“表单”执行此操作。

编辑:这按预期工作:

public Form1() 
{ 
    InitializeComponent(); 
    Shown += Form1_Shown; 
    panel1.Dock = DockStyle.Fill; 
    panel2.Dock = DockStyle.Fill; 
} 

void Form1_Shown(object sender, EventArgs e) 
{ 
    panel1.BringToFront(); 
    Update(); 
    Thread.Sleep(3000); 
    panel2.BringToFront(); 
    Update(); 
    Thread.Sleep(3000); 
    panel1.BringToFront(); 
} 

编辑:添加由于注释Update();的。

+0

谢谢。但BringToFront不起作用。我使用了面板的Visible属性。 – Peter17 2012-01-11 07:09:33

+0

@ Peter17'可见的'很好。但我很惊讶'BringToFront'不起作用。我添加了适用于我的答案的代码。 – ispiro 2012-01-11 12:26:43

+0

在UI线程上调用Sleep(3000)*正好*足以诱使Windows在标题栏中显示带有“Not Responding”消息的幻影窗口。防止你真正看到面板2被带到前面。这是一个非常糟糕的例子。 – 2012-01-11 12:53:36