나는 VB에서 약간 익숙해 어떤 루틴을 어떻게 할 수 있는지 알아 내려고 노력 중이다. 특정 드라이브의 모든 디렉토리로 채워진 checklistbox가있는 아카이브 프로그램을 작성 중입니다. 사용자가 디렉토리를 확인하면 디렉토리 크기를 가져 와서 양식에 표시하는 for 루프로 이동합니다. 그러나 내가 가지고있는 이슈는 4 또는 5 이상을 선택하면 모든 검사 항목을 통해 읽고 파일 크기를 확인하므로 속도가 느려지고 느려집니다. 최근 아이템을 체크하거나 체크하지 않아서 현재 사이즈에서 덧셈/뺄셈을 할 수있는 방법이 있습니까? 이 내 현재 코드는 모든 체크 된 항목을 반복합니다. 미리 감사드립니다. 다시 크기를 계산하지 않아도folderbrowserdialog Check Space
Dim fsize As Long = 0
Private Sub chklstbxWorkspace_SelectedIndexChanged(sender As Object, e As EventArgs) Handles chklstbxWorkspace.SelectedIndexChanged
Dim entry As Object
If chklstbxWorkspace.CheckedIndices.Count > 0 Then
btnStartArchive.Enabled = True
Else
btnStartArchive.Enabled = False
End If
lblWorkspaceSize.Text = chklstbxWorkspace.CheckedIndices.Count.ToString & " folders selected."
For Each entry In chklstbxWorkspace.CheckedItems
fsize += DirectorySize("w:\" & entry.ToString, True)
lblWorkspaceSize.Text = chklstbxWorkspace.CheckedIndices.Count.ToString & " folders selected. " & Format(fsize, "###,###,###,###,##0") & " bytes."
Next
Application.DoEvents()
End Sub
대단히 감사합니다. 과거에는 사전을 사용했지만 사전에는 사전을 사용하지 않았습니다. – user2202347