var
  Index: Integer;
begin
  Index := Combobox1.ItemIndex;
  Combobox1.Items.Delete(Index);
  Combobox1.ItemIndex := Index;
end;这样应该可以了吧?

解决方案 »

  1.   

    这个是自动的呀!你 Combobox.delete(Combbox.ItemIndex)之后下面的会自动上来的,序号还是连续的。
      

  2.   

    直接ComboBox.itemindex:=2;//你要的id上就可以了
      

  3.   

    procedure TForm1.ComboBox1Change(Sender: TObject);
    begin
         if combobox1.Text=''then
         begin
            if (Index>=0) and (index<combobox1.Items.Count-1) then
            begin
               combobox1.ItemIndex:=index+1 ;
               index:=combobox1.ItemIndex;
            end
            else  begin
               combobox1.ItemIndex:=0;
               index:=combobox1.ItemIndex;
            end;
         end;end;
    index为全局变量;
    初始化,index:=0;
            combobox1.itemindex:=0;
      

  4.   

    实在不行的话,就用笨办法,把ComboBox的值写到一个INI文件中,删掉ComboBox中的值时,连INI中的值也一起删掉,然后在用INI来初始化ComboBox