2011-12-02 3 views
0
for (int i = 0; i < listView1.Items.Count; i++) 
{ 
    if (listView1.Items[i].Selected) 
    { 
     listView1.Items[i].Remove(); 
    } 
} 

이 함수는 listview에서 선택한 항목을 단순히 삭제합니다.하지만 잘라내어 다른 곳에 붙여 넣기를 원합니다.C#의 목록보기 항목을 잘라내어 복사하고 붙여 넣는 방법은 무엇입니까?

+0

다른 목록보기 또는 무엇에 붙여 넣으시겠습니까? 이 코드는 여러 항목을 선택하면 제거합니다. 그러면 클립 보드로 무엇을 하시겠습니까? – Danny

+0

사실 저는 윈도우 용 파일 브라우저를 만들고 있고 treeview 컨트롤을 사용하고 있습니다. 하나의 파일을 자르고 싶은 디렉토리에 여러 파일이 있습니다. 실제로 하나의 목록보기 항목이며 다른 디렉토리에 붙여 넣습니다. –

+0

ListViewItem을 디렉터리에 붙여 넣을 수 없습니다. 파일의 이름을 어딘가에 복사하는 것만으로도 충분할 것입니다. –

답변

0

선택한 목록 항목을 제거하고 다른 목록보기로 이동하려는 것 같습니다.

ListView sourceListView = new ListView(); 
ListView destListView = new ListView(); 

var selected = sourceListView.Items 
           .Cast<ListViewItem>() 
           .Where(x => x.Selected) 
           .ToList(); 

foreach (var item in selected) 
{ 
    sourceListView.Items.Remove(item); 
    destListView.Items.Add(item); 
} 
관련 문제