的listviewer在OnShow中

问题描述:

我如何改变ListView中选定的项目不会改变选择...的listviewer在OnShow中

这里是我的代码示例:

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

我需要在tab选项卡的onshow有一个动作的时候改变listiewer的选项! – MrHelp

+0

你可以解释你的代码如何失败请 –

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

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

指定的项目确实选择。

我从中得出的结论是,Selected属性可以从OnShow事件中使用。因此,如果你的程序不会导致在列表视图中选择来设置,它似乎之一:

  1. 在这个问题的代码是不是在所有运行或
  2. 代码运行,但if陈述条件永远不是True

您的下一步是调试您的程序。使用您首选的调试技术检查程序执行过程。交互式调试器将是一个很好的选择。

+0

感谢所有,列表视图不选择onshow只在onchange! – MrHelp

+0

正如我的答案指出的那样,这是您的代码的问题 –