comboBoxWeekToSchedule中有13个条目。然而,抛出“ IndexOutOfRangeException未处理”异常。
这是运行抛出异常的代码(在处理程序的第一行):
private void comboBoxWeekToSchedule_SelectedIndexChanged(object sender, EventArgs eargs)
{
DateTime dt = Convert.ToDateTime(comboBoxWeekToSchedule.ValueMember[comboBoxWeekToSchedule.SelectedIndex]);
DisableICRVBS(AYttFMConstsAndUtils.IsFirstWeekOfMonth(dt));
}
comboBoxWeekToSchedule中的值是LongDateString格式的日期;我选择的那个是“2016年3月7日星期一”
那么SelectedIndex怎么可能超出范围呢?
答案 0 :(得分:1)
ValueMember
是一个字符串。当您使用ComboBox
属性时,comboBoxWeetToSchedule.SelectedValue
控件使用它来检索(使用反射)与特定元素关联的值。因此,您可以将其设置为"Date"
,当您引用SelectedValue
时,您将真正检索SelectedItem
的{{1}}属性。
对该字符串执行索引将检索' nth'我确信这个角色不是你想做的。由于您没有提供任何设置Date
的代码,我只能假设您将其设置为3个字符或更少的字符串,这就是为什么它会倒下。
您真正想要在代码中执行的操作是检索值:
ValueMember