-2

我在组合框中有 10 个项目,当我删除其中一个项目时,组合框不会自动显示下一个项目,它会显示空白。我想显示范围内的下一个项目。

我正常删除它们

cmbsomename.Items.Remove(cmbsomename.SelectedItem);

怎么做?

4

3 回答 3

5

因为您删除了选中的项目,所以需要将另一个项目设置为选中:

comboBox.SelectedIndex = 0;

编辑:

上面的代码将所选项目设置为列表中的第一项。对于下一个项目,您需要先找到要删除的项目的索引:

int index = cmbsomename.SelectedIndex;
cmbsomename.Items.Remove(cmbsomename.SelectedItem);

if (index < cmbsomename.Items.Count) // Make sure there IS a next item
   cmbsomename.SelectedIndex = index; // Next item will have same index value
于 2012-07-02T11:53:33.527 回答
1

删除 Item 后设置 selectedindex

int index = comboBox.SelectedIndex;
comboBox.Items.Remove(comboBox.SelectedItem);

if (index < comboBox.Items.Count) 
   comboBox.SelectedIndex = index; 
于 2012-07-02T11:54:15.900 回答
1
var selectedIndex = cmbsomename.SelectedIndex;
cmbsomename.Items.Remove(cmbsomename.SelectedItem);
comboBox.SelectedIndex = selectedIndex < cmbsomename.Items.Count() ? ++selectedIndex : 0;
于 2012-07-02T11:57:36.727 回答