Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki
Proyecto AjpdSoft: Foros

AjpdSoft :: Ver tema - Mostrar carpetas y subcarpetas en TreeView Visual Basic .Net
Foros de discusión Buscar Perfil FAQ Iniciar sesión
Information Mostrar carpetas y subcarpetas en TreeView Visual Basic .Net

Publicar nuevo tema Responder al tema
Foros de discusión » VB.Net, C# .Net, Visual Studio .Net   
Ver tema anterior :: Ver tema siguiente
AutorMensaje
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: Mostrar carpetas y subcarpetas en TreeView Visual Basic .Net Responder citando

Estoy usando Microsoft Visual Basic .Net 2010 como lenguaje de programación. Estoy desarrollando una aplicación y necesito mostrar en un TreeView las carpetas y subcarpetas de una ruta dada. Además, necesito que no sea muy lento a la hora de mostrarlo. He visto algunas cosas por Internet pero si, por ejemplo, cargo toda la unidad C va lentísimo.
MensajePublicado:
Vie Ago 05, 2011 1:05 pm
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Mostrar carpetas y subcarpetas en TreeView Visual Basic Responder citando



Anuncios



varios escribió:
Estoy usando Microsoft Visual Basic .Net 2010 como lenguaje de programación. Estoy desarrollando una aplicación y necesito mostrar en un TreeView las carpetas y subcarpetas de una ruta dada. Además, necesito que no sea muy lento a la hora de mostrarlo. He visto algunas cosas por Internet pero si, por ejemplo, cargo toda la unidad C va lentísimo.


A continuación te mostramos un código para mostrar las carpetas y subcarpetas de una unidad o ruta indicada. Además, este ejemplo no carga todas las carpetas y subcarpetas "de golpe" (al principio), sino que usa el evento "AfterExpand" del TreeView para cargar las subcarpetas del nodo desplegado. De esta forma la carga es muy rápida y eficiente:

Nota: para este ejemplo necesitarás en el formulario un TreeView (que hemos llamado TreeView1), un Button (llamado Button1) y un TextBox (llamado TextBox1):

Código:

Public Class ExploradorCarpetasVB


    Public Sub cargarSubcarpetas(ByVal rutaRaiz As String,
              ByVal nodoTree As Windows.Forms.TreeNode)
        On Error Resume Next
        Dim carpetaActual As String
        Dim indice As Integer

        If nodoTree.Nodes.Count = 0 Then
            For Each carpetaActual In
                    My.Computer.FileSystem.GetDirectories(rutaRaiz)
                indice = carpetaActual.LastIndexOf(System.IO.Path.PathSeparator)
                nodoTree.Nodes.Add(carpetaActual.Substring(indice + 1,
                     carpetaActual.Length - indice - 1))
                nodoTree.LastNode.Tag = carpetaActual
                nodoTree.LastNode.ImageIndex = 0
            Next
        End If
    End Sub

    Public Sub cargarCarpetas(ByVal rutaRaiz As String)
        Dim nodoBase As System.Windows.Forms.TreeNode

        If IO.Directory.Exists(rutaRaiz) Then
            If rutaRaiz.Length <= 3 Then
                nodoBase = TreeView1.Nodes.Add(rutaRaiz)
            Else
                nodoBase = TreeView1.Nodes.Add(
                    My.Computer.FileSystem.GetName(rutaRaiz))
            End If
            nodoBase.Tag = rutaRaiz
            cargarSubcarpetas(rutaRaiz, nodoBase)
        Else
            Throw New System.IO.DirectoryNotFoundException()
        End If
    End Sub

    Private Sub Button1_Click(sender As System.Object,
               e As System.EventArgs) Handles Button1.Click
        cargarCarpetas(TextBox1.Text)
    End Sub

    Private Sub TreeView1_AfterExpand(sender As System.Object,
               e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterExpand
        Dim n As System.Windows.Forms.TreeNode
        For Each n In e.Node.Nodes
            cargarSubcarpetas(n.Tag, n)
        Next
    End Sub
End Class


El código está probado en VB.Net 2010 y en Windows 7, funciona perfectamente.
MensajePublicado:
Vie Ago 05, 2011 1:10 pm
Top of PageVer perfil de usuario
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: [RESUELTO] Mostrar carpetas y subcarpetas en TreeView VB.Net Responder citando



Anuncios



Ok, muchas gracias, solucionado. Efectivamente, lo he probado en Windows 2003 y Windows Server 2008 y funciona también bien, va rápido.
MensajePublicado:
Vie Ago 05, 2011 1:12 pm
Top of PageVer perfil de usuario
alfonsot
Usuario


Registrado: Feb 11, 2014
Mensajes: 1

Asunto: Responder citando

Hola, necesito hacer exatemente lo que esta en este post pero no puedo hacer funcionar este codigo.

Alguien me podria ayudar con esto?
Sera que no c donde tengo q cololar el codigo o algo?
MensajePublicado:
Mar Feb 11, 2014 5:07 pm
Top of PageVer perfil de usuario
anty290490
Usuario


Registrado: Jun 15, 2014
Mensajes: 1

Asunto: Responder citando

yo igual tengo un error dice que no encuentra la ruta de acceso en el disco. Donde agrego la carpeta principal, que nombre se le pone y cual es la carpeta raíz????
MensajePublicado:
Dom Jun 15, 2014 9:00 pm
Top of PageVer perfil de usuario
Mostrar mensajes de anteriores:   
Todas las horas son GMT - 1 Horas
Publicar nuevo tema Responder al tema
Foros de discusión » VB.Net, C# .Net, Visual Studio .Net  

Cambiar a:  
Key
  Puede publicar nuevos temas en este foro
No puede responder a temas en este foro
No puede editar sus mensajes en este foro
No puede borrar sus mensajes en este foro
No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A