Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/06/2013, 08:26
davidalonsso05
 
Fecha de Ingreso: enero-2013
Mensajes: 93
Antigüedad: 11 años, 3 meses
Puntos: 0
Pregunta Correr un ProgressBar o Label en segundo plano en Vb.net

Buenos días, actualmente tengo un codigo que comprime todos los archivos .txt de una carpeta y/o subcarpetas. (Utilizo Vb.net 2005)
Lo que quiero es correr un ProgressBar en segundo plano o un Label mostrando el "porcentaje" mientras termina de comprimir los archivos para evitar que parezca como si se hubiese freezeado o paralizado la aplicacion, anexo el codigo!

Código vb:
Ver original
  1. Imports System.IO
  2. Imports System.IO.DirectoryInfo
  3. Imports System.IO.Directory
  4. Imports Ionic.Zip
  5. Imports System
  6.  
  7.  
  8. Public Class Form1
  9.     Private strPath As String
  10.     Dim txt As String, bol As Boolean
  11.     Dim a As String = ".zip"
  12.  
  13.  
  14.     Private Sub btnArchivo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnArchivo.Click
  15.         Try
  16.             With FolderBrowserDialog1
  17.                 .Reset()
  18.                 .Description = " Seleccionar una carpeta "
  19.                 .SelectedPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
  20.                 .ShowNewFolderButton = False
  21.                 Dim ret As DialogResult = .ShowDialog
  22.                 If ret = Windows.Forms.DialogResult.OK Then
  23.                     'Dim nFiles As ObjectModel.ReadOnlyCollection(Of String)
  24.                    'nFiles = My.Computer.FileSystem.GetFiles(.SelectedPath, FileIO.SearchOption.SearchAllSubDirectories)
  25.                    TextBox1.Text = FolderBrowserDialog1.SelectedPath.ToString()
  26.                  
  27.                 End If
  28.                 .Dispose()
  29.             End With
  30.  
  31.         Catch oe As Exception
  32.             MsgBox(oe.Message, MsgBoxStyle.Critical)
  33.         End Try
  34.     End Sub
  35.  Public Sub Comprimirtxt()
  36.         Dim txtFiles = Directory.GetFiles(Me.TextBox1.Text, "*.txt", SearchOption.AllDirectories)
  37.         For Each currentFile As String In txtFiles
  38.             Using zip As ZipFile = New ZipFile()
  39.                 zip.AddFile(currentFile, "")
  40.                 zip.Save(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(currentFile), System.IO.Path.GetFileNameWithoutExtension(currentFile) + ".zip"))
  41.                 File.Delete(currentFile)
  42.  
  43.             End Using
  44.         Next
  45.     End Sub
  46. Private Sub btnComprimir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnComprimir.Click
  47.         BackgroundWorker1.RunWorkerAsync()
  48.         If TextBox1.Text = "" Then
  49.             MessageBox.Show("Seleccione una carpeta a comprimir")
  50.         Else
  51.            
  52.                     Comprimirtxt()
  53.                     MessageBox.Show("Accion Finalizada!", "Accion exitosa", MessageBoxButtons.OK)
  54. End Class

Ese es mi codigo y ya llevo atorado como 5 dias URGE :/ Saludos!