其实你可以设置一个全局变量作为开关变量
var flag:boolean;
procedure TForm1.Button1Click(Sender: TObject);
var i :integer ;
begin
flag:=false;
ListView1.SetFocus;
for i := 0 to ListView1.Items.Count-1 do
begin
ListView1.Items.Selected:= true;
end;
flag:=true;
end;
在你的onselectitem事件中判断flag如果为true就执行代码,如果为false就不执行就行了