winforms C# Windows窗体ComboBox

kmynzznz  于 2023-10-23  发布在  C#
关注(0)|答案(1)|浏览(233)

我想使用Windows窗体作为注册表单;同时,我决定将ComboBox项导入数组。当我按下保存按钮时,我可以使用下一个和上一个按钮在一个人的表单之间切换。下面是我的代码:

private void btnNext_Click(object sender, EventArgs e)
{
    if (items != null && index < size - 1)
    {
        index++;
        comboBox1.Items.Clear();
        comboBox1.Items.Add(items[index]);
        comboBox1.SelectedItem = 0;
    }
}

现在调试器向我显示错误,说参数'item'不能为null。
我希望可以允许用户将数据导入列表框,并通过按Next和Previous按钮在个人信息之间切换,然后选择组合框中的项目。

qacovj5a

qacovj5a1#

代码的问题在于,如果索引超出数组中最后一项的索引,则没有检查索引是否越界。在向组合框中添加新项之前,检查索引是否大于数组中最后一项的索引,并重置为0。

if(items != null){
   // Make sure index is within bounds
   if(index < size){
     comboBox1.Items.Clear(); 
     comboBox1.Items.Add(items[index]); 
     comboBox1.SelectedItem = 0;
     index += 1;
   }
}

你不需要做index < size -1。这就是导致你的程序出错的原因

相关问题