2011-07-05 32 views
0

這個想法是,我會有一組表單,用戶可以通過點擊「前進」和「後退」按鈕,當前表單將更改爲不同的表單。我的問題是,我可以編寫剛剛彈出一個新表單的代碼,但我不知道如何對當前表單進行「替換」。這通常如何完成?如何使用vb.net創建「嚮導」風格的UI?

+0

winforms? WPF?生gdi?的WebForms? MVC? –

+0

只是定期winforms。 – telaviv

回答

3

我最近做了什麼是創建一個已經到位的按鈕和一個大面板來包含每一步。該對話框將接受IWizStep實例形式的初始步驟,並且事物將從那裏滾動。

每一步都是一個暴露UserControl的類,它負責這個步驟的視覺方面,而邏輯本身是由類處理的(這有點複雜,但那是一般的想法)。

的IWizStep接口,由步實施,並通過對話框接受,是對的臺詞:

Interface IWizStep 
     Event StateChanged As EventHandler 
     ReadOnly Property Control As Control 
     ReadOnly Property Title As String 
     ReadOnly Property CanMovePrevious As Boolean 
     ReadOnly Property CanMoveNext As Boolean 
     Function MovePrevious As IWizStep 
     Function MoveNext As IWizStep 
    End Interface 

爲了把一切融合在一起,一個控制器類需要知道如何編寫必要的每個給定的步驟行動。因此,我有一個控制器,比如說「發佈訂單」,它需要10步,還有一個控制器用於「批量發送訂單」,只需要幾個步驟。

3

創建一組UserControls,並以單一形式將它們從面板中添加和刪除。 (並將Dock設置爲Fill

1

您可以定義一個充當「嚮導」的用戶控件。它只需要你擁有的按鈕和一組內容面板,當按下按鈕時,只需在面板上的控件內滿足一定的條件就可以通過面板切換。沒有真正的明確的「嚮導」製造商,因爲它很容易推出自己的嚮導。

您不需要對當前表單進行真正的「替換」,只需向項目中添加一個新表單即可。如果你確實需要出於任何原因,只需要拿着控制集合Me.Controls,複製到某個地方,然後把新的控件放好。當你不需要該向導時,再次將它們交換出來。然而,製作新表單通常是最佳做法!