-2

コンボボックスに10個のアイテムがあり、それらのアイテムの1つを削除すると、コンボボックスは次のアイテムに自動的に表示されず、空白が表示されます。範囲内の次のアイテムを表示したい。

普通に削除します

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

アイテムを削除した後、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 に答える