关于Listbox的一个问题(50分)

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

MichaelZhu

Unregistered / Unconfirmed
GUEST, unregistred user!
我用了三个LISTBOX,同时在三个LISTBOX中增加ITEM,也就是说,三个LISTBOX中的ITEM数
相同。当双击第一个LISTBOX时,三个LISTBOX均执行DELETE动作,均删除ITEMINDEX为
第一个LISTBOX中的SELECTED ITEM的INDEX值。如果三个LISTBOX中的ITEM数大于1,看不出
有什么问题,但是如果只有一个ITEM,问题就出现了。第一个删的非常彻底,第二个与
第三个均保留了一个空的ITEM,从而导致当再次向三个LISTBOX增加ITEM时,第二个与
第三个上面均有一个空行!
删除时,我使用了listbox.item.Clear,listbox.clear均不能删除这个空行。

哪位大侠知道如何解决?
 
没遇到过,,但估计是因为引用同一个变量(或其它)引起的.引用计数有时就会产生一些意想不到的情况.

最好能贴出部分代码 -_- 或是你新建一个空白的Project,只放3个listbox测试一下.
 
在删除时第二个和第三个加上 listbox1.Items.Delete(0);不可以吗
 
我的试验结果是没有问题

procedure TForm1.ListBox1DblClick(Sender: TObject);
var
I:integer;
begin
i:=listbox1.itemindex;
listbox1.Items.Delete(i);
listbox2.Items.Delete(i);
listbox3.Items.Delete(i);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Listbox1.Items.Append('2222');
Listbox2.Items.Append('2222');
Listbox3.Items.Append('2222');
end;
 
procedure Tmainform.ListBox1DblClick(Sender: TObject);
var
xx:integer;

begin
xx:=listbox1.itemindex;
listbox1.Items.Delete(xx);
listbox2.Items.Delete(xx);
listbox3.Items.Delete(xx);
if listbox3.items.count<1 then
begin
listbox2.Clear;
listbox2.Items.Clear ;
listbox3.Clear;
listbox3.Items.Clear ;
end;
end;
 
listbox1.Items.Delete(0);不行。
 
我试了上面的代码没有问题啊
 
用你的代码
没有问题
 
我也没问题:-)
 
问题解决,原来是连接的两个EDIT作怪!
 
多人接受答案了。
 
后退
顶部