コンボボックスに10個のアイテムがあり、それらのアイテムの1つを削除すると、コンボボックスは次のアイテムに自動的に表示されず、空白が表示されます。範囲内の次のアイテムを表示したい。
普通に削除します
cmbsomename.Items.Remove(cmbsomename.SelectedItem);
どうやってするか?
選択したアイテムを削除したため、別のアイテムを選択済みとして設定する必要があります。
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
アイテムを削除した後、selectedindex を設定します
int index = comboBox.SelectedIndex;
comboBox.Items.Remove(comboBox.SelectedItem);
if (index < comboBox.Items.Count)
comboBox.SelectedIndex = index;
var selectedIndex = cmbsomename.SelectedIndex;
cmbsomename.Items.Remove(cmbsomename.SelectedItem);
comboBox.SelectedIndex = selectedIndex < cmbsomename.Items.Count() ? ++selectedIndex : 0;