Sei sulla pagina 1di 16

16/3/2019 Tutorial del control FileListBox, DriveListBox y DirListBox

Inicio Ejemplos vb Ocx - Activex Api vb Tutoriales - Manuales Código fuente

Ejemplos vb.net

Sección de tutoriales y manuales vb Búsqueda personalizada Buscar

DriveListBox, DirListBox y FileListBox - controles para


manipular unidades, archivos y directorios
Volver al índice

Controles de visual basic para


trabajar con las unidades del sistema,
los archivos y directorios

-- -- Índice

DriveListBox

DirListBox

FileListBox

Ejemplo simple para utilizar los tres controles en conjunto

DriveListBox - Propiedades, métodos y eventos

Descripción

El Control DriveListBox es una especie de comboBox o lista desplegable que nos muestra las
unidades que tengamos en la pc

http://www.recursosvisualbasic.com.ar/htm/tutoriales/control_drive_dir_file.htm 1/16
16/3/2019 Tutorial del control FileListBox, DriveListBox y DirListBox

Propiedades

Propiedad Drive

La propiedad mas importante de este control se llama Drive.

Esta propiedad nos retorna o devuelve la unidad que se encuentra seleccionada en el mismo.

Por ejemplo al ejecutar el siguiente fragmento de código, muestra la unidad mediante un cuadro de
mensaje

Colocar el código en un formulario, e insertar un DriveListBox

Texto plano Imprimir

1. Option Explicit
2.
3. Private Sub Form_Load()
4.
5. ' -- Mostramos la unidad que muestra el control mediante un mensaje
6. MsgBox "Unidad que muestra el control Drive es: " & Drive1.Drive, vbInformation
7.
8. End Sub

ListCount y objeto List

Otra propiedad para saber la cantidad de unidades que tiene la lista es la propiedad ListCount y
conjuntamente con el objeto List podemos recorrer la lista mediante un bucle, por ejemplo desde la
primera unidad hasta la última en la lista, similar a recorrer los elementos de un control de lista
como los ListBox y los ComboBox.

El ejemplo siguiente hace lo anteriormente dicho en un bucle For, y las va mostrando mediante un
Mensaje:

Colocar un control Drive1 en el formulario y un botón.

Pegar el siguiente código

Texto plano Imprimir

1. Option Explicit
2.
3.
4. ' \\ -- Botón de comando para recorrer las unidades
5. Private Sub Command1_Click()
6.
7. Dim i As Integer
8. For i = 0 To Drive1.ListCount - 1
9. ' -- Mostramos la unidad que corresponde al elemento
10. ' -- de la propiedad List del Drive1
11.
12. MsgBox "unidad: " & Drive1.List(i), vbInformation
13.
14. Next

http://www.recursosvisualbasic.com.ar/htm/tutoriales/control_drive_dir_file.htm 2/16
16/3/2019 Tutorial del control FileListBox, DriveListBox y DirListBox
15.
16. End Sub
17.
18. Private Sub Form_Load()
19. Command1.Caption = "Ver unidades"
20. End Sub

Otras propiedades

Las demás propiedades son comunes a la mayoría de los demás controles, por ejemplo:

Propiedades de apariencia : Font y ForeColor para establecer atributos de fuente, BackColor


para el color de fondo
Propiedades de comportamiento : Enabled para habilitar o no el control, Visible para
mostrarlo u ocultarlo
Propiedades de posición: Height y Width para establecer y recuperar el ancho del objeto, y
Left y Top para la posición izquierda y superior en el objeto que lo contiene ( un formulario,
picturebox o control Frame)

A continuación un ejemplo para utilizar la propiedad Width. Muchas veces es necesario, en tiempo
de ejecución, cambiar y adaptar la anchura del control, por ejemplo supongamos que al
redimensionar y cambiar el ancho del formulario, quisiéramos adaptar el ancho del Drive al de la
ventana de formulario, entonces podemos modificar la propiedad Width dentro del evento resize del
Form.

Colocar un Drive1. Pegar el siguiente código. Luego maximizar, achicar, y cambiar el tamaño de la
ventana para ver como se adapta a las dimensiones de la misma.

Texto plano Imprimir

1. Option Explicit
2.
3.
4. ' \\ -- El evento resize ocurre cuando se muestra un formulario
5. ' por primera vez o cuando cambia el tamaño, ya sea mediante
6. ' el mouse o maximizando la ventana
7. ' --------------------------------------------------------------------------------
-
8. Private Sub Form_Resize()
9.
10. ' -- Establecer la posición izquierda
11. Drive1.Left = 10
12. ' -- Establecer el ancho para que sea igual al del form
13. Drive1.Width = Me.ScaleWidth - 20
14.
15. End Sub

http://www.recursosvisualbasic.com.ar/htm/tutoriales/control_drive_dir_file.htm 3/16
16/3/2019 Tutorial del control FileListBox, DriveListBox y DirListBox

Importante

El código anterior contiene un error que es el siguiente. Si minimizas la pantalla de formulario,


visual basic te mostrará este error:

Este error ocurre por que justo en el momento de minimizar el form, la propiedad ScaleWidth del
Formulario contiene el valor 0. entonces al ejecutar la línea

Drive1.Width = Me.ScaleWidth - 20

Se está asignando como nuevo ancho del Drive, el valor ( 0 - 20 ) , es decir el valor -20. Y En visual
basic, no se puede establecer un valor negativo a la propiedad Width y Height de ningún tipo de
control.

Para solucionar esto, puede haber varias formas, por ejemplo podríamos utilizar un bloque If que
compruebe que el valor a asignar sea mayor a 0.

Texto plano Imprimir

1. Private Sub Form_Resize()


2.
3. ' -- Establecer la posición izquierda
4. Drive1.Left = 10
5. ' -- Establecer el ancho para que sea igual al del form
6.
7. ' -- Si esta operación (Me.ScaleWidth - 20), es mayor a 0, entonces si
8. ' -
- Cambiar el ancho, si no ignorar el bloque de código para que no genere error
9. If (Me.ScaleWidth - 20) > 0 Then
10. Drive1.Width = Me.ScaleWidth - 20
11. End If
12.
13. End Sub

Otra solución posible sería, dentro del evento Resize, averiguar si se está intentando minimizar la
ventana usando la propiedad WindowState

WindowState: Devuelve o establece en tiempo de ejecución el estado visual de una ventana de


formulario. Si está maximizada, minimizada o en estado normal.

Al ejecutar el siguiente ejemplo, podés comprobar que no se genera error, ya que la instrucción If,
al detectar que se minimiza el formulario, sale de la rutina para no ejecutar el bloque de código que
cambia el ancho del control, y de esta manera evitar el error.

Texto plano Imprimir

1. Option Explicit
2.
3. Private Sub Form_Resize()
4.
5. ' -- Si se minimiza el form, salir de la rutina
6. ' -- para no ejecutar el código de abajo ya que daría error
7. If Me.WindowState = vbMinimized Then Exit Sub
8.

http://www.recursosvisualbasic.com.ar/htm/tutoriales/control_drive_dir_file.htm 4/16
16/3/2019 Tutorial del control FileListBox, DriveListBox y DirListBox
9. Drive1.Left = 10
10. Drive1.Width = Me.ScaleWidth - 20
11.
12. End Sub

Eventos

El evento mas importante del control Drive es el evento Change.

Este evento se dispara o ejecuta cada vez que el control cambia la unidad, es decir cuando el
usuario selecciona de la lista una unidad diferente. Para probarlo como funciona, un simple ejemplo:

Pegar este código, y cuando se seleccione una unidad, se producirá el evento Change y mostrará la
unidad seleccionada, consultando la propiedad Drive

Colocar un Drive1 en el formulario principal.

Texto plano Imprimir

1. Option Explicit
2.
3.
4. ' \\ -- Evento que Ocurre cuando cambia el contenido del Drive
5. Private Sub Drive1_Change()
6. 'Mostramos la unidad seleccionada
7. MsgBox Drive1.Drive, vbInformation
8. End Sub

DirListBox - Propiedades, métodos y eventos

Descripción y propiedades:

Permite visualizar los directorios de una unidad determinada.

Propiedad Path

La propiedad mas importante se llama Path. A esta propiedad se le debe indicar la ruta para que
cargue la lista de directorios

Por ejemplo, para poder visualizar las carpetas, cuando seleccionamos una unidad en un control
Drive, se haría de la siguiente forma:

Colocar un control Drive1 y un control Dir1 y pegar el siguiente código en el formulario:

Texto plano Imprimir

http://www.recursosvisualbasic.com.ar/htm/tutoriales/control_drive_dir_file.htm 5/16
16/3/2019 Tutorial del control FileListBox, DriveListBox y DirListBox
1. Option Explicit
2.
3. Private Sub Drive1_Change()
4.
5. ' -- Establecer la ruta del Dir1, de acuerdo a
6. ' -- la unidad seleccionada en el Drive
7. Dir1.Path = Drive1.Drive
8.
9. End Sub
10.
11. Private Sub Form_Load()
12. MsgBox "Cambia la unidad para que el Dir1 actualice el la propiedad Path"
13. End Sub

Si ejecutás el ejemplo anterior, podés ver que al cambiar de unidad en el control Drive se
despliegan los directorios en el control Dir1. Pero también seguramente observaste que si
seleccionás por ejemplo una unidad que no se encuentra disponible, como por ejemplo la
disquetera, unidad de CD/DVD, y esta no contiene un diskette o CD, o se encuentra averiada, o no
lo puede leer por algún otro motivo, se producirá un error 68 en tiempo de ejecución: "El
dispositivo no está listo".

Para evitar esto podemos utilizar una simple rutina de error como la siguiente para solucionar el
problema mediante un controlador de error.

Texto plano Imprimir

1. Option Explicit
2.
3. Private Sub Drive1_Change()
4.
5. On Error GoTo MensajeError
6.
7. ' -- Mostramos la lista de directorios pasandole la propiedad Drive
8. Dir1.Path = Drive1.Drive
9.
10.
11. Exit Sub
12. ' -- Rutina de error - Este bloque se ejecutará solo cuando se produzca un fallo
13. MensajeError:
14.
15. ' -- Si ocurre un error, entonces Primero comprobamos que es el 68
16. ' -- Si es el 68 ( unidad no disponible), mostramos un mensaje al usuario.
17. ' -- y proseguimos la ejecución del código mediante la instrucción Resume Next
18. If Err.Number = 68 Then
19. MsgBox "La unidad seleccionada no está disponible", vbInformation
20. Resume Next
21. Else
22. ' -- Si es otro error, también mostramos otro mensaje
23. MsgBox Err.Description, vbCritical, "Otro error"
24. End If
25.
26. End Sub
27.
28. Private Sub Form_Load()
29. MsgBox "Selecciona una unidad CD/DVD sin ningún CD/DVD"
30. End Sub

... de esta manera controlamos el error 68 mostrando un mensaje, y con la instrucción Resume
Next, le decimos a vb que prosiga la ejecución del programa. Nota : Si no quisiéramos continuar la
ejecución de la línea siguiente a la que produjo el error, simplemente podemos quitar la instrucción
Resume Next.

DirListBox no enlazado a un DriveListBox

http://www.recursosvisualbasic.com.ar/htm/tutoriales/control_drive_dir_file.htm 6/16
16/3/2019 Tutorial del control FileListBox, DriveListBox y DirListBox
También a diferencia del ejemplo anterior, en muchos casos podríamos utilizar un Dir1 sin un
control Drive.

Entonces para cambiar la propiedad Path del control DirListBox sin usar el control Drive,
simplemente debemos pasarle la letra de la unidad o cualquier ruta válida que queramos a la
propiedad Path, por ejemplo de esta manera:

Colocar dos botones y un Dir1. Pegar el siguiente código en el formulario

Texto plano Imprimir

1. Option Explicit
2.
3. Private Sub Command1_Click()
4. Dir1.Path = "c:\"
5. End Sub
6.
7. Private Sub Command2_Click()
8. Dir1.Path = "c:\windows"
9. End Sub
10.
11. Private Sub Form_Load()
12. Command1.Caption = "c:\"
13. Command2.Caption = "c:\windows"
14. End Sub

Importante

Al igual que en el código anterior, donde se producía un error al intentar acceder a una unidad no
disponible, si se le pasa a la propiedad path del Dirlistbox, una ruta que no existe, el programa
generará un error en tiempo de ejecución. El error es el siguiente : Error de ruta de acceso

Para solucionarlo, podemos implementar una rutina o controlador de error , que verifique el numero
76. Si el error es el 76, entonces mostramos al usuario un mensaje para que sepa que la ruta
indicada no es válida, y de esta forma, no se caiga el programa.

Este ejemplo demuestra lo dicho anteriormente

Colocar un botón y un Dir1. Al presionar el botón, se desplegará un cuadro de diálogo InputBox


para escribir el path, y como demostración deberás escribir una ruta no válida para generar el error.
Luego se mostrará un mensaje de información de que el path no es válido.

http://www.recursosvisualbasic.com.ar/htm/tutoriales/control_drive_dir_file.htm 7/16
16/3/2019 Tutorial del control FileListBox, DriveListBox y DirListBox

Texto plano Imprimir

1. Option Explicit
2.
3. Private Sub Command1_Click()
4.
5. On Error GoTo error_handler
6.
7. Dim sRuta As String
8.
9. ' -- Abrir un diálogo para escribir el path
10. sRuta = InputBox("Escribir una ruta que no exista en la pc")
11.
12. ' -- Si sRuta no es válido, se producirá el error y visual basic
13. ' -- saltará al bloque error_handler, y al comprobar el numero de error 76
14. ' -- Le mostrará al usuario que hubo un error en la ruta de acceso
15. Dir1.Path = sRuta
16.
17.
18. Exit Sub
19.
20. ' -- Rutina de error
21. error_handler:
22. If Err.Number = 76 Then
23. MsgBox "La ruta seleccionada no es válida, compruebe que la haya escrito correcta
24. Else
25. MsgBox Err.Description, vbCritical
26. End If
27. End Sub
28.
29.
30. Private Sub Form_Load()
31. Command1.Caption = "Escribir ruta"
32. End Sub

Propiedad ListCount, y objeto List

Con ListCount y el objeto List, podemos acceder al contenido actualmente cargado en el Dir, es
decir a los directorios. Para recorrer todo el contenido , se debe utilizar un bucle For Next. Por
ejemplo lo siguiente, recorre todo el contenido del control, y crea un archivo de texto con las rutas.
El archivo de texto se creará en una unidad c:\ con el nombre 'Rutas.txt'

Texto plano Imprimir

1. Option Explicit
2.
3.
4. Private Sub Command1_Click()
5.
6. On Error GoTo error_handler
7. ' -- Crear archivo
8. Dim f As Integer
9. f = FreeFile
10. Open "c:\rutas.txt" For Output As #1
11.
12. ' -- recorrer el control
13. Dim i As Integer
14. For i = 0 To Dir1.ListCount - 1
15. ' -- Escribir en el archivo el path
16. Print #1, Dir1.List(i)
17. Next
18. ' -- Cerrar el archivo abierto
19. Close #f
20.
21. ' -- Fin
22. MsgBox "Archivo guardado en: c:\", vbInformation
23.
24. ' -- Rutina de error

http://www.recursosvisualbasic.com.ar/htm/tutoriales/control_drive_dir_file.htm 8/16
16/3/2019 Tutorial del control FileListBox, DriveListBox y DirListBox
25. Exit Sub
26. error_handler:
27. MsgBox Err.Description, vbCritical, "error al crear el archivo"
28. End Sub
29.
30. Private Sub Form_Load()
31. Command1.Caption = "Guardar rutas en archivo de texto"
32. End Sub

Nota Las demás propiedades, son similares a la de los demás controles.

Eventos

Al igual que el control Drive, el control Dir tiene un evento que es el mas importantes llamado
Change, y que se disparará o ejecutará cada vez que el control Dir cambie la ruta, es decir la
propiedad Path.

El siguiente ejemplo muestra un mensaje cada vez que seleccionamos un directorio diferente en el
control.

Texto plano Imprimir

1. Option Explicit
2.
3. Private Sub Dir1_Change()
4. MsgBox Dir1.Path, vbInformation
5. End Sub

Mostrar la cantidad de carpetas y directorios

Si quisiéramos saber la cantidad de directorios que muestra el control Dir, podemos usar la
propiedad ListCount.

Ejemplo:

Texto plano Imprimir

1. Option Explicit
2.
3. Private Sub Dir1_Change()
4. MsgBox "El directorio seleccionado tiene: " & Dir1.ListCount & " directorios"
5. End Sub

FileListBox - Propiedades, métodos y eventos

El control FileListBox permite ver en un listado los archivos de un path determinado.

http://www.recursosvisualbasic.com.ar/htm/tutoriales/control_drive_dir_file.htm 9/16
16/3/2019 Tutorial del control FileListBox, DriveListBox y DirListBox

Propiedad Path

La propiedad por defecto del control es la propiedad Path.

Por ejemplo para cargar en el control todos los ficheros de la unidad c:\windows al pulsar un botón:

Colocar un botón en el formulario y un control FileListBox. Pegar el siguiente código

Texto plano Imprimir

1. Option Explicit
2.
3.
4. ' \\ -- Establecer la ruta del File List Box al ghacer clic en el botón
5. Private Sub Command1_Click()
6. File1.Path = "c:\windows"
7. End Sub
8.
9. Private Sub Form_Load()
10. Command1.Caption = "Listar c:\windows"
11. End Sub

Importante : El FileListBox no contiene una opción para incluir los archivos de los subdirectorios,
solo visualizará los ficheros de la carpeta actual.

La propiedad path es la propiedad por defecto del control FileListBox, por lo tanto no es necesario
escribirla explícitamente, por lo cual esto también es válido :

Texto plano Imprimir

1. Option Explicit

http://www.recursosvisualbasic.com.ar/htm/tutoriales/control_drive_dir_file.htm 10/16
16/3/2019 Tutorial del control FileListBox, DriveListBox y DirListBox
2.
3. Private Sub Command1_Click()
4. File1 = "c:\windows"
5. End Sub

Nota. Los controles DirListBox y DriveListBox también tienen sus propiedades por defecto. Para el
control Dir es la propiedad Path y para el Drive es la propiedad Drive, y por lo tanto cuando no
escribamos ninguna propiedad, es decir solo se escriba el nombre del control y se le asigne el valor,
se asumirá como Default ( la propiedad por defecto )

Propiedad Pattern - Para Filtrar Archivos

Por defecto el control FileListbox visualiza todos los archivos del directorio indicado. Para listar
archivos en forma filtrada, por ejemplo solo los Txt, solo archivos bmp, o un conjunto de
extensiones : Solo Exe, dll y Bat por mencionar algunos tipos de ficheros, se utiliza la propiedad
Pattern. A esta propiedad le debemos indicar la extensión o las extensiones a filtrar:

Por ejemplo para filtrar una sola extensión. En este caso se visualizarán solo archivos TXT

Colocar un control FileListBox llamado File1 y un control DirListBox llamado Dir1. Cuando
selecciones una ruta en el Dir1, solo se listarán en el FileList los archivos que posean la extensión
.txt

Texto plano Imprimir

1. Option Explicit
2.
3. ' \\ -- Establecer el path del File al cambiar el Dir
4. Private Sub Dir1_Change()
5. File1.Path = Dir1.Path
6. End Sub
7.
8. Private Sub Form_Load()
9. ' -- Establecer el filtro ( propiedad Pattern )
10. File1.Pattern = "*.txt"
11. End Sub

Para filtrar varios archivos es de la misma forma que en el caso anterior, pero se debe establecer en
la propiedad Pattern, separando las extensiones con un punto y coma ";".

Por ejemplo esto filtra y visualiza solo los archivos , Jpg, Bmp y Gif

File1,Pattern = "*.JPG;*.bMP;*.Gif"

En el ejemplo anterior se estableció la propiedad Pattern en tiempo de ejecución. Para


establecerla en tiempo de diseño, se realiza desde la ventana de propiedades de Visual basic.

http://www.recursosvisualbasic.com.ar/htm/tutoriales/control_drive_dir_file.htm 11/16
16/3/2019 Tutorial del control FileListBox, DriveListBox y DirListBox

Propiedad FileName

Esta propiedad es muy importante y lo que hace es devolvernos el nombre del archivo seleccionado.
Ojo, no la ruta entera (la propiedad path) , si no solo el nombre del archivo (el que se visualiza en el
control).

El siguiente ejemplo, muestra un mensaje con el nombre del archivo seleccionado cuando hacemos
Click en un archivo de la lista

Texto plano Imprimir

1. Option Explicit
2.
3.
4. Private Sub File1_Click()
5. MsgBox File1.FileName, vbInformation, "Nombre del archivo"
6. End Sub

Pero como obtener la ruta completa ?

Es muy simple , debemos unir la propiedad Path , mas la propiedad FileName

Colocar un botón y un FileListBox. Pegar el siguiente fragmento de código en el formulario

Texto plano Imprimir

1. Option Explicit
2.
3.
4. Private Sub Command1_Click()
5.
6. Dim sPath As String
7.
8. ' -- Guardar en a variable el path mas el nombre
9. sPath = File1.Path & "\" & File1.FileName
10.
11. ' -- mostrar el path completo
12. MsgBox sPath, vbInformation, "Nombre del archivo"
13.
14. End Sub
15.
16. Private Sub Form_Load()
17. Command1.Caption = "Mostrar"
18. End Sub

Propiedad ListCount y objeto List

Si necesitamos recorrer todos los ficheros de la lista, es igual que el ejemplo que se describió para
el control Drive, es decir utilizando las propiedades ListCount y el objeto List.

Un ejemplo que no tiene ningún sentido práctico, pero que sirve para ver el funcionamiento de estas
dos propiedades, consiste en recorrer todos los ficheros en un bucle For Next, y agregarlos a un
control ListBox.

Colocar un botón llamado Command1, un ListBox llamado List1 y un FileListBox llamado File1 en el
formulario principal del programa. Luego pegar el siguiente código

http://www.recursosvisualbasic.com.ar/htm/tutoriales/control_drive_dir_file.htm 12/16
16/3/2019 Tutorial del control FileListBox, DriveListBox y DirListBox

Texto plano Imprimir

1. Option Explicit
2.
3.
4. ' \\ -- Botón para recorrer la lista en un bucle y agregar cada
5. ' -- archivo al listbox
6. Private Sub Command1_Click()
7.
8. ' -- Eliminar el listado antes de agregar
9. List1.Clear
10.
11. ' -- Recorrer
12. Dim i As Integer
13.
14. For i = 0 To File1.ListCount - 1
15. List1.AddItem File1.List(i)
16. Next
17.
18. End Sub
19.
20. Private Sub Form_Load()
21. Command1.Caption = "Pasar archivos al ListBox"
22. End Sub

System, Hidden, Normal, Archive - Propiedades

Estas propiedades permiten indicarle al control, si debe mostrar o no, archivos de acuerdo a sus
atributos. Son cuatro propiedades

System : Determina si un control FileListBox muestra archivos con el atributo Sistema


Hidden : Determina si un control FileListBox muestra archivos con el atributo Oculto.
Archive : Determina si un control FileListBox muestra los archivos con el atributo Modificado
ReadOnly : Devuelve o establece un valor que determina si se muestran o no en la lista de
archivos los archivos con el atributo Sólo lectura.

Eventos

Además de los eventos principales, como es el DobleClick, GotFocus, LostFocus y otros eventos
comunes que poseen la gran mayoría de controles de vb, el FileListBox posee dos eventos
exclusivos, ellos son :
http://www.recursosvisualbasic.com.ar/htm/tutoriales/control_drive_dir_file.htm 13/16
16/3/2019 Tutorial del control FileListBox, DriveListBox y DirListBox

PathChange : Ocurre al cambiar la ruta de acceso estableciendo en el código las propiedades


FileName o Path.
PatternChange : Ocurre al cambiar el patrón de lista de archivos, como *.*, mediante
FileName o Pattern en el código

Estos eventos le sirven al programador , en algunos casos que necesite saber cuando cambia alguna
de las propiedades, y poder realizar alguna acción.

Ejemplo . Colocar dos botones y un File1

Texto plano Imprimir

1. Option Explicit
2.
3.
4. Private Sub Command1_Click()
5. ' -- Cambiar la ruta del File
6. File1.Path = "c:\"
7. End Sub
8.
9. Private Sub Command2_Click()
10. ' -- Cambiar el Pattern
11. File1.Pattern = "*.jpg"
12. End Sub
13.
14. Private Sub File1_PathChange()
15. MsgBox "Se ejecutó el evento PathChange", vbInformation
16. End Sub
17.
18. Private Sub File1_PatternChange()
19. MsgBox "Se ejecutó el evento PatternChange", vbInformation
20. End Sub
21.
22. Private Sub Form_Load()
23. Command1.Caption = "Cambiar Path"
24. Command2.Caption = "Cambiar Pattern"
25. End Sub

Ejemplo utilizando los 3 controles vistos para navegar por


las unidades y directorios del sistema y visualizar archivos
bmp en un control image
Colocar un control File1, un Dir1 y un Drive1 y un control Image como está en la imagen:

http://www.recursosvisualbasic.com.ar/htm/tutoriales/control_drive_dir_file.htm 14/16
16/3/2019 Tutorial del control FileListBox, DriveListBox y DirListBox

Lo que hace el ejemplo es cada vez que seleccionemos una unidad diferente en el control Drive se
actualiza y muestra los directorios de la misma. A su vez al cambiar de directorio en el Dir1 se
actualiza el control File1 mostrando los archivos de dicha carperta, pero solo los bmp, utilizando el
filtrado con la propiedad Pattern. Luego, Al seleccionar un archivo bmp en el FileListBox, se cargará
la imagen en el control Image utilizando el método LoadPicture

Pegar el código del ejemplo en un formulario:

Texto plano Imprimir

1. Option Explicit
2.
3.
4. Private Sub Dir1_Change()
5. ' -- Cada vez que cambiamos de directorio, le indicamos al
6. ' -- control FileListBox que muestre los archivos de ese directorio
7. File1.Path = Dir1.Path
8. End Sub
9. Private Sub Drive1_Change()
10. On Error GoTo error_handler
11.
12. ' -- Cada vez que cambiamos de unidad, indicamos al control
13. ' -- Dir Que muestre los directorios de esa unidad
14. Dir1.Path = Drive1.Drive
15.
16. ' -- Rutina de error en caso de que se seleccione una unidad no disponible
17. ' -- O que se produzca cualquier otro tipo de error
18. Exit Sub
19. error_handler:
20. MsgBox Err.Description, vbCritical
21.
22. End Sub
23.
24. Private Sub File1_Click()

http://www.recursosvisualbasic.com.ar/htm/tutoriales/control_drive_dir_file.htm 15/16
16/3/2019 Tutorial del control FileListBox, DriveListBox y DirListBox
25. On Error GoTo error_handler
26.
27. ' -- Mostramos en la barra de título del formulario el nombre del
28. ' -- archivo seleccionado en el control File1
29. Me.Caption = "Archivo Actual: " & File1.FileName
30. Image1.Picture = LoadPicture(File1.Path & "\" & File1.FileName)
31.
32. ' -- Rutina de error en caso de que no se pueda cargar la imagen en el Image
33. Exit Sub
34. error_handler:
35. MsgBox Err.Description, vbCritical
36. End Sub
37.
38. Private Sub Form_Load()
39. ' -- Para indicarle al control File que liste y filtre solo Bmp
40. File1.Pattern = "*.bmp"
41. ' -- Para reajustar la imagen en el control image
42. Image1.Stretch = True
43. End Sub

En este otro enlace, hay otro ejemplo similar a este último, relacionado con estos tres controles.

Cargar una imagen centrada en un Picture

Volver al índice

Buscar en Recursos vb

Buscar

Recursos visual basic - Buscar - Privacidad - Copyright © 2005 - 2009 -


www.recursosvisualbasic.com.ar

http://www.recursosvisualbasic.com.ar/htm/tutoriales/control_drive_dir_file.htm 16/16

Potrebbero piacerti anche