Lv1.MultiSelect := True;
for i := 0 to Lv1.Items.Count - 1 do
  Lv1.Items[i].Selected := True;

解决方案 »

  1.   

    listview1.MultiSelect := True;
            for ii:=0 to listview1.Items.Count-1 do
            begin
            listview1.Items[ii].Selected:=true;
            next;
            end;
            MyItem:=listview2.Items.Add;
            MyItem.Caption:=listview1.ItemFocused.Caption;
            MyItem.SubItems.Add(listview1.Selected.SubItems[0]);
            MyItem.SubItems.Add(listview1.Selected.SubItems[1]);
    我这样写还是只能选中一条记录。
      

  2.   

    那当然Selected属性只能指向一个ListItem,如果要判断多少个地话,需要循环判断每个ListItem的Selected属性。
      

  3.   

    for ii:=0 to listview1.Items.Count-1 do
    begin
      if listview1.Items[ii].Selected then
      begin 
        // do your things
      end;
    end;
      

  4.   

    for ii:=0 to listview1.Items.Count-1 do
            begin
            if listview1.Items[ii].Selected then
            begin
            MyItem:=listview2.Items.Add;
            MyItem.Caption:=listview1.Items.Item[listview1.Selected].Caption;
            MyItem.SubItems.Add(listview1.Selected.SubItems[0]);
            MyItem.SubItems.Add(listview1.Selected.SubItems[1]);
            frmmain.ListView1Click(listview2);
            end;
            next;
            end;
    我这样写对吗?我看不出哪儿错了,你看,这样执行后,我选择的变成重复了
      

  5.   

    这个是干什么? 你去掉这个,或者写在循环外看看
    frmmain.ListView1Click(listview2);