Zmień kolejność / przenieś / przeciągnij ListViewItems w tej samej Kontroli ListView w C # Windows Forms

mamListView w widoku LargeIcon w C # 2008 System Windows Forms. Teraz chciałbym przenieść element tego ListView w obrębie tego samego ListView na innej pozycji - nazwijmy to „przeciągnij i upuść” lub „kolejność elementów” lub cokolwiek innego. VB 6 jest do tego zdolny i robi to automatycznie na dowolnej liścieView.

Wygląda na to, że C # nie ma tej funkcji lub trzeba było najpierw ją zakodować. Do kodowania tego nie mam doświadczenia i nie znalazłem odpowiedzi w moich badaniach w Internecie. Znalazłem tylko „procedurę nadpisywania”, która nie zadziałała.

Nie potrzebuję żadnych innych formantów ListView (takich jak ObjectListView lub cokolwiek) i nie potrzebuję procedur nadpisywania ani tworzenia nowej kontroli ListView. Chcę się nim zająć w ramach formantu ListView udostępnianego przez Microsoft w tej postaci. Wszelkie pomysły na ten temat. Kod byłby bardzo doceniany. Wierzę, że nie mogę tego zrobić sam, chyba że jest to bardzo prosty jeden liner.

PS: Jeśli element musi zostać przeniesiony, potrzebuję wszystkich właściwości elementu, który ma zostać przeniesiony (tekst, znacznik, wyobrażenie, kolor tła, kolor pierwszego planu, nazwa, tekst narzędzia itp.). Nie mam pojęcia, jak można to osiągnąć. Jedna wskazówka na ten temat znalazłem: istnieje, aby usunąć element (tzw.Usunąć()) i wstaw nazwany.Wstawić(). Ale dzięki tym informacjom nadal nie mogę „przesuwać” przedmiotów wykonywanych myszką. Myślę, że wszystkoDragEvents listyWyświetl rolę tutaj, ale nie wiem jak z nich korzystać i jak skopiować wybrane elementy (listView1.SelectedItems) do właściwej pozycji i trzeba najpierw zdobyć tę pozycję.

questionAnswers(2)

yourAnswerToTheQuestion