如何检查列表框是否为空?

问题描述 投票:0回答:4

我想检查列表框是否为空,例如:

if {Listbox.Items is empty} then
begin
  Listbox.Items.Add('Item');
end else
begin
  //do somthing else
end;

检查 Listbox.Items 或 Listbox 是否为空的部分对我来说有点困难。我试图找出一种方法来做到这一点,但我失败了,因为我仍然是 Delphi 的初学者。我如何在Delphi XE5中实现它?

delphi listbox
4个回答
7
投票
if listbox.items.count = 0 then
  // it's empty

1
投票

在 Access VBA 中,列表框上没有“.items.count”属性

我尝试了 Me.ListBox.ListCount 和 .ListIndex 来查看列表是否为空。

无论列表是否为空(在我的例子中),ListCount 始终为 1,ListIndex 始终为 -1。

为了克服这个问题,我使用了:

If Me.ListBox.ItemData(0) = "" then
    Do Something
End If

这对我有用 - 希望这对某人有帮助


0
投票

我会推翻你的 if 语句。
就我个人而言,我喜欢语句正确部分中的大部分代码和错误部分中的较短代码。出于某种原因,这对我来说更有意义。

所以代码看起来像:

If Listbox.items.count > 0
begin
  //Do something else
end
else
 Listbox.items.add('item');

此外,如果您的真或假部分仅包含 1 行代码,则您不需要开始..结束。有它们并没有错,但在我看来,如果没有它们,代码会更容易阅读;)


0
投票

我想这会解决你的问题

如果 List1.ListCount = 0 那么

Else

End If
© www.soinside.com 2019 - 2024. All rights reserved.