列表查看器不会在onshow中更改select

时间:2015-05-14 14:17:02

标签: delphi delphi-xe5 items

如何更改列表视图中的选定项目...

这是我的代码示例:

 for c := 0  to Form1.LV1.Items.count -1  do
    begin
      if  (form1.lv1.Items[c].SubItems.Objects[3] as TTabSheet).TabIndex = 
        pgc1.ActivePageIndex then
      begin
        form1.lv1.Items[c].Selected:= True;
      end;
    end;

1 个答案:

答案 0 :(得分:1)

我使用列表视图创建了一个简单的应用程序,将其设置为报告模式,添加了一些项目,并添加了此OnShow事件:

procedure TForm1.FormShow(Sender: TObject);
begin
  ListView1.Items[1].Selected := True;
end;

确实选择了指定的项目。

我从中得出的结论是Selected属性可以在OnShow事件中使用。因此,如果您的程序没有导致列表视图选择被设置,那么它似乎是:

  1. 问题中的代码根本没有运行,或
  2. 代码正在运行,但if语句条件永远不会是True
  3. 下一步是调试程序。使用首选的调试技术检查程序执行情况。交互式调试器将是一个合理的选择。