如何删除combobox中的item?(20分)

  • 主题发起人 主题发起人 moutocean
  • 开始时间 开始时间
M

moutocean

Unregistered / Unconfirmed
GUEST, unregistred user!
for i:=0 to combobox1.items.Count-1 do
combobox1.Items.Delete(i);
用上面这段程序来请删除combobox1中的所有选项时,发现删除实质上除奇数项.如:
本来items为:1,2,3,4,5,6
删除后为: 2,4,6.
并没有清空items,why?
 
combobox1.clear;
或用downto方式从后面删除。
 
应当用ComboBox1.Items.clear;你那样的删除,删除掉第一条记录后,第二条记录
自动变为第一条记录,所以删除的是第三条记录,当然如果从后向前删除也可以。
 
当i从0到ComboBox1.Items.Count-1对ComboBox中的Item进行删除时,
Items: (1, 2, 3, 4, 5, 6)
i=0 删除1;
i=1 删除3;(因为此时ComboBox1.Items.Delete(1)将删除现有Items的第二个,即3
此时的第一个Item(i=0)没有被删除).
......

正确的写法是从ComboBox1.Items.Count-1倒着删除就没有问题了。
for i := ComboBox1.Items.Count - 1 downto 0 do
ComboBox1.Items.Delete(i);
 
Blade把我要讲的先讲了,你还可以:
while Combobox1.items.count>0 do
combobox1.items.delete(0);
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
911
SUNSTONE的Delphi笔记
S
D
回复
0
查看
877
DelphiTeacher的专栏
D
D
回复
0
查看
845
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部