我有一个List<List<string>>
,一个ComboBox
有10个项目,当所选索引发生变化时,我使用comboBox_selectedIndexChanged
事件将此索引的数据绑定到{{ 1}}。
我还有ListBox
和Add
按钮,可以将数据插入我的Remove
。
如果前四个仍然为空,如何阻止用户从List<List<string>
中选择索引5并为其添加数据?例如。告诉他,他必须先将数据放入索引1,2,3和4中。
ComboBox
按钮的点击事件如下所示:
Add
我知道我可以在int selectedIndex = comboBox1.SelectedIndex;
//This throws an exception when the selected index is zero,
//of course it makes sense because we can't check if index 0-1 in myList is null
if (myList.Count >= selectedIndex && myList[selectedIndex - 1] != null)
{
myList[selectedIndex].Add(textEdit1.Text);
}
else
MessageBox.Show("Please fill the previous indexes first.");
的{{1}}事件中执行此操作,但我更喜欢在此处执行此操作。
答案 0 :(得分:0)
怎么样:
int selectedIndex = comboBox1.SelectedIndex;
if (selectedIndex == 1 || (myList.Count >= selectedIndex && myList[selectedIndex - 1] != null))
{
myList[selectedIndex].Add(textEdit1.Text);
}
else
MessageBox.Show("Please fill the previous indexes first.");
如果selectedIndex == 1为true,那么它将不会测试if语句中的第二个参数,并且不会抛出错误。如果它不是1,它将测试第二个参数,并且不会抛出您的错误。