Académique Documents
Professionnel Documents
Culture Documents
• Ejemplo 1
• Propiedad Scrolling
• Ejemplo 2
• Enlaces relacionados
Nota: en el siguiente enlace se encuentra un listado con enlaces relacionados :Progressbar enlaces
Si bien es posible crear barras de progreso sin utilizar un control adicional, mediante el ProgressBar podemos
implementar de una manera rápida y fácil, mediciones de progreso de una determinada tarea
• Value: Propiedad que indica el valor actual de la barra, o mejor dicho del proceso que estamos
midiendo
Este ejemplo consite en generar un bucle For-Next desde 0 hasta 5000, y en cada pasada del bucle, se irá
asignando el valor de la misma a la propiedadValue del control.
Al Progressbar, en la propiedad Min le establecemos el valor 0. A la propiedad Max el valor máximo del
proceso y la propiedad Value tomará como valor el valor de x, la variable del For - Next
Para el ejemplo agregar los siguientes controles en un formulario:
Dim x As Long
Next x
End Sub
'Le asignamos las propiedades para el mínimo, máximo valor del Progress bar
With ProgressBar1
.Max = 5000
.Min = 0
.Value = 0
EndWith
End Sub
Las propiedades Min y Value pueden establecérsele valores como mínimo de 0, osea que un valor inferior a 0
producirá un error 380 en tiempo de ejecución, la descripción del error es:
El valor de la propiedad no es válido
El ProgressBar no tiene ninguna Propiedad para medir el porcentaje. Para el ejemplo anterior podríamos hacerlo
de esta manera, y mostrar además de la barra de progreso, un porcentaje del mismo utilizando un control
Label, como muestra este gráfico:
Private Sub Command1_Click()
For i = 0 To ProgressBar1.Max
DoEvents
Next
End Sub
4 - Propiedad Scrolling
Para cambiar el aspecto gráfico del Progressbar, hay una propiedad llamadaScrolling. Esta tiene 2 valores
posibles, 0 y 1.
Si le colocamos esta propiedad en 0, el Progress tendrá una vista dividida por recuadros. Si tiene el valor 1, la
barra de progreso es continua, como se ve en la siguiente imagen
5 - Ejemplo 2
Ahora un ejemplo que tenga algún sentido mas práctico que el visto al comienzo (por lo menos un poco mas de
sentido)
Este consiste en agregar en un control ListBox la fecha de modificación de todos los archivos de un directorio, y
mostrar en la barra de progreso el tiempo que tarda.
Para este ejemplo hay que agregar un control DirListBox llamado Dir1, un FileListBox File1, un Progressbar1, un
Label1, un ListBox llamado List1 y un Command1 como está en la imagen:
If File1.ListCount = 0 Then
MsgBox "No hay archivoes en el directorio": Exit Sub
End If
ProgressBar1.Max = File1.ListCount
For i = 0 To File1.ListCount - 1
DoEvents
Next
End Sub
With File1
.Archive = True
.Normal = True
.ReadOnly = True
.Hidden = True
.System = True
End With
End Sub
En el ejemplo anterior, se visualiza por medio de un DirListBox y un FileListBox, los archivos de la pc. Al
presionar el Command1 se recorre toda la lista del control File1 (mediante la propiedad List) y se recupera y se
agrega con la funciónFileDateTimede Visual Basic la fecha de modificación de los archivos en el control
ListBox.
Nota: Tener en cuenta que al listar un directorio que tiene pocos archivos, el progreso no se podrá visualizar
ya que va a ser muy rápido, en cambio silistás un directorio con muchos ficheros, como por ejemplo el
directorio de sistema de windows ( System32 en xp ), el progreso lo vas a poder visualizar correctamente.
Hay otras propiedades como se mencionaron para este control, pero no son importantes, y están mas
relacionadas a la visualización y disposición del mismo, como Orientation, BorderStyle, Scrolling etc...
Una forma de poder aplicar los diferentes temas de windowsXp a las barras de progreso, es mediante el
siguiente control ocx gratuito que los podésdescagrar desde este enlace :Ocx Windows XP C1
Buscar en Recursos vb
Principio del formulario
• Inicio
• Ejemplos vb
• Ocx - Activex
• Api vb
• Tutoriales - Manuales
• Código fuente
• Ejemplos vb.net