访问 TListBox 项目的 TextSettings 属性

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

我有一个字符串数组,我想将其放入 TListBox (FMX) 中以供选择。 TListBox 的属性不包括行的 TextSetting 属性,但我已经看到每个 TList 项都有它。 如何将每一行作为对象访问? 我试过这个

   BatchSets_ListBox.Items.BeginUpdate;
   BatchSets_ListBox.Items.Clear;
   For i := 0 to (Length(MyList) - 1) do
   Begin
      BatchSets_ListBox.Items.Add(MyList[i].BATCH_SET_NAME);
      BatchSets_ListBox.ListItems[BatchSets_ListBox.Items.Count].TextSettings.Font.Size := 18;
   End;
   BatchSets_ListBox.Items.EndUpdate;

但它不起作用,它在尝试访问 ListItems 的行上显示 ACCESS VIOLATION。 我做错了什么? TLitBox 中不应该有一个存储 Items 的 ListItems 对象吗? 感谢您的帮助。

arrays list delphi firemonkey tlistbox
1个回答
0
投票

你的问题是这一行:

BatchSets_ListBox.ListItems[BatchSets_ListBox.Items.Count].TextSettings.Font.Size := 18;

您正在访问一个不存在的项目。 TListBox.ListItems 的有效索引是 [0..Count-1] 而不是 [1..Count],即。索引从 0 开始,因此包含两个项目的列表框的有效索引为 0 和 1。

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