我正在用vb/windows表单编写一个工具,该工具将删除远程计算机上的用户配置文件。除了显示已删除的计算机名称和配置文件外,它工作得很好。
当我尝试ObjectListView时,它会在第一行显示信息,并覆盖每台计算机的信息,并在每台计算机上删除每个配置文件。这是我遇到问题的代码部分....
Public Class PC
Public Property Computer_Name As String
Public Property Profile_Name As String
End Class
-
For Each objProfile In colProfiles
Dim dtmLastUseTime = CDate(Mid(objProfile.LastUseTime, 5, 2) & "/" &
Mid(objProfile.LastUseTime, 7, 2) & "/" & VB.Left(objProfile.LastUseTime, 4) _
& " " & Mid(objProfile.LastUseTime, 9, 2) & ":" &
Mid(objProfile.LastUseTime, 11, 2) & ":" & Mid(objProfile.LastUseTime,
13, 2))
If DateDiff("d", dtmLastUseTime, d1) > intMaxProfileAge Then
usrPath = objProfile.localpath
rowInfo2 = usrPath
Dim LvItm As New PC With {.Computer_Name = rowInfo1, .Profile_Name = rowInfo2}
Dim LvLst As New List(Of PC)
LvLst.Add(LvItm)
ObjectListView1.SetObjects(LvLst)
objProfile.Delete_
End If
Next
尝试替换它:
Dim LvLst As New List(Of PC)
LvLst.Add(LvItm)
ObjectListView1.SetObjects(LvLst)
在:
ObjectListView1.AddObject(LvLst)
或
移动此行
Dim LvLst As New List(Of PC)
在 strat for-each 循环之前,以及这条线
ObjectListView1.SetObjects(LvLst)
在next
线之后。