2012-01-09 47 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