Originariamente inviato da tommytimmy
visual studio 2010
visual basic
come si fa a fare in modo che mentre si copia un file la progressbar vada avanti relativamente alla copia
e con una cartella ?
Dipende dal codice che usi per copiare il file.
Personalmente preferisco usare SHFileOperation
Un esempio:
codice:
' SHFileOperation in VB.NET
Private Structure SHFILEOPSTRUCT
Dim hwnd As Integer
Dim wFunc As Integer
Dim pFrom As String
Dim pTo As String
Dim fFlags As Short
Dim fAnyOperationsAborted As Boolean
Dim hNameMappings As Integer
Dim lpszProgressTitle As String
End Structure
Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperation" (ByRef lpFileOp As SHFILEOPSTRUCT) As Integer
Private Const FOF_ALLOWUNDO As Short = &H40
Private Const FOF_CONFIRMMOUSE As Short = &H2
Private Const FOF_NOCONFIRMATION As Short = &H10S
Private Const FO_COPY As Int32 = &H2
Private Const FO_DELETE As Int32 = &H3
Private Const FO_MOVE As Int32 = &H1
' -----------------------------------------
Public Sub CopiaFile(ByVal FileName1 As String, ByVal FileName2 As String)
Dim StructFile As New SHFILEOPSTRUCT()
With StructFile
.fFlags = FOF_NOCONFIRMATION Or FOF_ALLOWUNDO
.pFrom = FileName1
.wFunc = FO_COPY
.pTo = FileName2
End With
Try
SHFileOperation(StructFile)
Catch ex As Exception
MessageBox.Show("Errore: " & ex.Message)
End Try
End Sub
Funziona anche con le cartelle, ovviamente.