我的目標
我正在使用Visual Studio 2013在C#中進行項目工作。該項目是我打算包含大量頁面的項目。這些頁面全部使用按鈕鏈接在一起。我的問題是,我不能想出一個高效和優雅的解決方案。用多個頁面創建Win表單的最有效方法是什麼?
我的企圖
到目前爲止,我已經想出了兩個有效的解決方案來解決我的問題。首先,我增加了額外的表格,然後按下按鈕我躲在目前的形式和顯示的新形式,就像這樣:
Form2 frm = new Form2();
frm.Show();`
Form1.Hide();
雖然這工作,我有兩個問題吧。
- 我的項目將結束與數百形式
- 形式之間的過渡看起來馬虎。我的目標是像一個瀏覽器像轉換所有導航發生在一個窗口,而不打開和關閉其他人。
我試過的第二種可能的解決方案是使用面板。所以我基本上在不同的Panel上創建了每個頁面。然後按下按鈕顯示相應的面板,其餘部分隱藏。像這樣:
private void button1_Click(object sender, EventArgs e)
{
mainMenuPanel.Hide();
submenuPanel1.Show();
submenuPanel2.Hide();
submenuPanel3.Hide();
submenuPanel4.Hide();
}
這正是我正在尋找的,但是我的問題是管理大量面板很快變成了一場噩夢。編輯一個面板上的控件,該面板隱藏在9個其他面板後面,並且由於我項目中面板的數量只會增加 - 這看起來並不是目前形式的理想解決方案。
在我的腦海中,我想在Visual Studio 2013中可能有一個選項,它允許我'隱藏'我在表單上不使用的面板,或者暫時將它們從表單中拖出。這是Visual Studio中的一個選項。
如果沒有人知道更高效和可管理的方法來實現這一目標嗎?
在此先感謝。
你用一個NavigateTo(控制控制)方法嘗試一個「ViewManager」類(簡單地說是一個容器形式)嗎?它會用給定的內容替換它的內容。每個「頁面」是一個控件(或一個用戶控件),您將在它們之間導航 –
[ViewManager](http://msdn.microsoft.com/zh-cn/library/microsoft.windows.design.documents.viewmanager( v = vs.90).aspx) - MSDN says _This API支持.NET Framework基礎結構,並不打算直接從您的代碼中使用_您是否在談論那個鏈接? – Steve
以防萬一您感興趣:基於XAML的現代UI框架(取代winforms)如WPF具有內置的所有功能。沒有必要重新發明輪子。順便說一句winforms不建議用於任何新項目,僅用於維護傳統應用程序。 –