如何在 Firemonkey TListBox 中找到项目的索引?

How to find an Item's index in a Firemonkey TListBox?

我的目标是更新 TListBoxItemIndex,以某种方式在以编程方式将项目添加到列表时,在 TListBox 上勾勒出相应的行。

我试过:

with MyLstBox do begin
  ItemIndex := -1;
  for ind := 0 to Pred (Items.Count) do
    if InsertedString = Items [ind]) then begin
      ItemIndex := Ind;
      Break;
    end;
end;

此代码勾勒出刚刚插入的项目的轮廓,但也保留了之前插入的项目的轮廓。

MultiSelect设置为False,原则上只勾选一项。

Items 属性 是一个 TStrings 对象。您可以使用 TStrings.IndexOf() 方法代替手动循环:

MyLstBox.ItemIndex := MyLstBox.Items.IndexOf(InsertedString);

当您向列表框添加新项目时,TStrings.Add()方法returns新项目的索引:

MyLstBox.ItemIndex := MyLstBox.Items.Add(InsertedString);