这是传递动态创建的复选框和组框值的最佳方法

时间:2013-05-14 06:13:13

标签: c#-3.0

我站在一条十字路口,怀疑哪条路是正确的方式。正如大家都看到的那样,图像Groupbox和CheckBox都是动态创建的。令我困惑的是如果用户从XII2013SIF01和周二周三和周二从XII2013SIG02选择Sun Tue和Fri,我可以在按钮点击时将这些复选框值传递给Step 3 Form。在第3步表单中,我需要按组名称标识日期,因为根据该处理将完成。什么技术对我来说最好,请给出一些指导/建议或建议。

enter image description here

1 个答案:

答案 0 :(得分: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

虽然任何额外的复杂性都无法很好地扩展。