للنقل بدون تكرار
كود الاستاذ just.coder صحيح 100%
واذا كنت تريد نقل اكثر من عامود
نفس الكود مع ذياده بسيطه
PHP كود :
Try
For i As Integer = 0 To ListView1.Items.Count - 1
Dim bol As Boolean = True
For t As Integer = 0 To Form2.ListView1.Items.Count - 1
If Form2.ListView1.Items(t).SubItems(1).Text = ListView1.Items(i).SubItems(1).Text Then
bol = False
End If
Next
If bol = True Then
Dim itm As New ListViewItem
itm.Text = Form2.ListView1.Items.Count + 1
itm.SubItems.Add(ListView1.Items(i).SubItems(1))
itm.SubItems.Add(ListView1.Items(i).SubItems(2))
itm.SubItems.Add(ListView1.Items(i).SubItems(3))
Form2.ListView1.Items.Add(itm)
End If
Next
MsgBox("تم النقل", MsgBoxStyle.Information)
Catch ex As Exception
End Try
للحفظ فى ال setting
اولا اذهب الى My Project > Settings
فى خانة ال Name اكتب Itemss
وفى خانة ال Type اختار system.collections.specialized.stringcollection
ثم اذهب الى صفحة تحرير الكود تبع الفورم وفى اعلى الصفحه اكتب هذا الكود
PHP كود :
Imports System.Collections.Specialized
دلوقتى اختار اى حدث تريده و اكتب هذا الكود للحفظ فى ال Settings
للحفظ
PHP كود :
My.Settings.Itemss = New StringCollection()
Dim items = New List(Of String)()
For Each item As ListViewItem In Me.ListView1.Items
Dim subitems = New List(Of String)()
For Each subitem As ListViewItem.ListViewSubItem In item.SubItems
subitems.Add(subitem.Text)
Next
items.Add(String.Join("|", subitems))
Next
My.Settings.Itemss.AddRange(items.ToArray())
My.Settings.Save()
ثم اختار اى حدث تريده لتعبئة الليست فيو بالبيانات المحفوظه فى ال Settings
PHP كود :
Dim items = New ListViewItem(My.Settings.Itemss.Count - 1) {}
Dim i As Integer = 0
While i < items.Length
items(i) = New ListViewItem(My.Settings.Itemss(i).Split("|"c))
i += 1
End While
Me.ListView1.Items.AddRange(items)
وهذا لمسح البيانات المحفوظه فى ال Settings
PHP كود :
My.Settings.Itemss.Clear()
وهذا الكود يمكن ان تحتاجه
لمسح البيانات المتشابهه Remove Duplicates فى اى ليست فيو
PHP كود :
Public Sub RemoveDuplicates()
Dim item1 As ListViewItem
Dim item2 As ListViewItem
For i As Integer = ListView1.Items.Count - 1 To 0 Step -1
item1 = ListView1.Items(i)
For s As Integer = i + 1 To ListView1.Items.Count - 1 Step 1
item2 = ListView1.Items(s)
If item1.SubItems(1).Text = item2.SubItems(1).Text Then
ListView1.Items.Remove(item2)
Exit For
End If
Next s
Next (i)
End Sub