2010-01-25 91 views
0

我問過這個問題:「在桌面應用程序中是否有類似母版頁的問題?現在我的立場是我不得不延長這個問題。感謝您的理解。桌面應用程序動態GUI問題

我已經添加一個MDI主窗體到我的項目和幾個繼承MDI主控窗體的繼承窗體。我正在使用此代碼。

private void searchToolStripMenuItem_Click(object sender, EventArgs e) 
{ 
    foreach (Form child in this.MdiChildren) 
    { 
     child.Close(); 
    } 

    Search childSearchForm = new Search(); 
    childSearchForm.MdiParent = this; 
    childSearchForm.Text = "Search "; 
    childSearchForm.Show();    
} 

當我按下主窗體上的一些按鈕,該代碼被觸發在這種情況下搜索形式是新的主內打開。現在

我的問題是構建桌面應用程序的正確方法或者有一些其他的更優雅的方式,其中用戶界面的內容可以是動態的,從視圖切換點擊裏面的按鈕來查看。例如,點擊某個搜索表單上的「搜索」按鈕將會帶您搜索結果網格,所有發生在一個主表單中的結果。

如果這是正確的方式(我懷疑)如何通過點擊其中的按鈕來打開其他內部窗體。另外,如果我在主頁上放置一些控件,它們將以主窗體和繼承形式出現兩次。

謝謝。

PS

我使用Visual Studio 2008和MS SQL 2005

+2

您可以將您的子控件放在選項卡上,但使選項卡標題和邊框不可見並控制從按鈕切換選項卡。 – ChrisF 2010-01-25 22:53:37

+0

似乎插入我一定會嘗試,我匆忙,沒有選擇。 – eomeroff 2010-01-25 23:09:00

回答

2

如果您只想一次顯示一個視圖,則可以爲所需的每個視圖創建一個新的用戶控件。例如一個用於搜索結果。

然後,您可以添加面板並清除面板中包含的控件,並添加新面板以顯示您之後的視圖。

或者如上所述,另一種選擇是使用選項卡控件,隱藏選項卡並以編程方式設置可見索引。

+0

如果你只想要一種形式,我會同意53an並建立用戶控件來託管你所有的功能。 – Walter 2010-01-29 13:35:46

0

不知道你會很容易地做到這一點的WinForms,但在WPF可以創建一個導航應用 - 鏈接驅動的導航相似到網絡瀏覽器的體驗,但仍然是一個獨立的應用程序。有關如何入門的詳細信息,請參見http://msdn.microsoft.com/en-us/rampup/cc514215.aspx