我的目标是更新ItemIndex
的{{1}},以便在以编程方式将项目添加到列表时,TListBox
上会列出相应的行。
我试过了:
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
,因此原则上只应列出一个项目。
答案 0 :(得分:1)
Items
属性是TStrings
对象。您可以使用TStrings.IndexOf()
方法而不是手动循环:
MyLstBox.ItemIndex := MyLstBox.Items.IndexOf(InsertedString);
当您向ListBox添加新项时,TStrings.Add()
方法返回新项的索引:
MyLstBox.ItemIndex := MyLstBox.Items.Add(InsertedString);