2012-07-02 65 views
-2

我在組合框中有10個項目,當我刪除其中一個項目時,組合框不會自動顯示下一個項目,它將顯示空白區域。我想顯示範圍中的下一個項目。如何重新加載c#中的組合框項目?

我normaly刪除

cmbsomename.Items.Remove(cmbsomename.SelectedItem);

如何做到這一點?

+1

後你是如何刪除它們,因爲這將決定如何挑選物品中的下一個項目? –

+0

它是winforms還是web? – MilkyWayJoe

+0

它是wpf,形式,asp ...? – Vale

回答

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 
+0

OP表示下一項不是第一項。 –

+0

我編輯了上面的帖子。 – Tibi

1

刪除的項目設置selectedIndex

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

if (index < comboBox.Items.Count) 
    comboBox.SelectedIndex = index; 
+0

OP表示下一項不是第一項。 –

1
var selectedIndex = cmbsomename.SelectedIndex; 
cmbsomename.Items.Remove(cmbsomename.SelectedItem); 
comboBox.SelectedIndex = selectedIndex < cmbsomename.Items.Count() ? ++selectedIndex : 0; 
相關問題