2013-05-14 83 views
0

我站在一個有疑問的十字路口,哪條路是正確的路。正如你們都看到圖像Groupbox和CheckBox都是動態創建的。我很困惑如果用戶從XII2013SIF01選擇Sun Tue和Fri,並從XII2013SIG02選擇星期一Tue Wed和Thr,我可以如何通過按鈕單擊將這些複選框值傳遞給步驟3 Form。在步驟3中,我需要通過他們的組名來識別日期,因爲根據該處理將完成。哪種技術最適合我,請給出一些指導/建議或建議。哪個傳遞動態創建的複選框和組框的最佳方式

enter image description here

回答

0

最好是創建一個類,將包含在該步驟中收集到的數據(或者在步驟的整個序列)。在該類中,這個特定的選項列表可以表示爲每個部分的HashSet<DayOfWeek>屬性。

實施例,每一步類:

public class Step2Selection { 
    public Step2Selection() { 
     XII2013SIF01 = new HashSet<DayOfWeek>(); 
     XII2013SIG02 = new HashSet<DayOfWeek>(); 
    } 

    public HashSet<DayOfWeek> XII2013SIF01 { get; private set; } 
    public HashSet<DayOfWeek> XII2013SIG02 { get; private set; } 
} 

替代地,如果部分的數量可以增長你可以使用自定義部分類的字典或列表。

針對您的特殊情況下,也可以使用字典沒有自定義類:

IDictionary<string, HashSet<DayOfWeek>> // where dictionary keys are "XII2013SIF01", etc 

雖然它不會爲任何額外的複雜性很好地擴展。

+0

@Andrey謝謝你。我在步驟1中使用List 將組框名稱傳遞給Step2 Form的構造函數。從步驟2我分別需要groupbox和複選框名稱。並且是部分(Groupbox)可以增加。如果列表可以做到這一點,那麼請保持我的風格,並告訴我我將嘗試在列表 user2241865 2013-05-14 06:30:30

+0

@ user2241865的指導和幫助下繼續前進的方式我添加了所需的最小事物(請參閱最後的字典定義)。 – 2013-05-14 06:36:52

+0

Is List <>不適合這個,因爲我對IDictionary不太熟悉 – user2241865 2013-05-14 06:40:37