Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: n3n3 en 13 Octubre 2015, 21:29 pm



Título: Treeview y Listview Visual Studio 2010(Resuelto)
Publicado por: n3n3 en 13 Octubre 2015, 21:29 pm
Buneas, estoy trabajando en un sistema para auditorias internas de una empresa y lo unico que me falta es anexarle un modulo donde se carge una carpetas en un treeview y sus archivos en un listview, y segun el archivo que le de doble click en el listview se abra, en este caso tengo puros pdf, pero no importa solo quiero que se muestren y poder abrirlos, hasta ahora solo e logrado cargar carpetas y subcarpetas en el treeviw les dejo el codigo que tengo

Código:
Imports System.IO


Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        cargarCarpetas("C:/Manuales")
    End Sub
    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 TreeView1_AfterExpand(ByVal sender As Object, ByVal 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

    Private Sub TreeView1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TreeView1.MouseDoubleClick

        Dim ruta As String
        ruta = TreeView1.SelectedNode.ToString.Substring(9)
        TextBox1.Text = ruta
        Shell("explorer.exe root=" & TextBox1.Text & " ", vbNormalFocus)

    End Sub
End Class

Como ven tengo 1 treview, 1 listview y 1 textbox, espero alguien pueda ayudarme con algun ejemplo que tengan por ahi, de antemano muchas gracias.

Como siempre lo volvi a resolver yo solo, no se por que tengo mala suerte, desde que entre en este foro no me resuelven ni una pinche duda ni por muy sencilla que parezca, en este subForo de Visal Basic e posteado ya 5 veces de las cuales las 5 termino conviertonlas en aportes propios hacia la comunidad, bueno espero que por lo menos ayuden a alguien de tantos que quieren aprender y postean dudas en este foro.


Título: Re: Treeview y Listview Visual Studio 2010(Resuelto)
Publicado por: n3n3 en 24 Octubre 2015, 06:23 am
Como siempre lo volvi a resolver yo solo, no se por que tengo mala suerte, desde que entre en este foro no me resuelven ni una pinche duda ni por muy sencilla que parezca, en este subForo de Visal Basic e posteado ya 5 veces de las cuales las 5 termino conviertonlas en aportes propios hacia la comunidad, bueno espero que por lo menos ayuden a alguien de tantos que quieren aprender y postean dudas en este foro.

(Si alguien requiere el codigo por favor no dude en mandarme pm)


Título: Re: Treeview y Listview Visual Studio 2010(Resuelto)
Publicado por: Lekim en 27 Octubre 2015, 14:36 pm
A lo mejor es porque estás en el foro equivocado. En teoría, esto es para VB (5 o 6)

Si es para .NET

http://foro.elhacker.net/net-b62.0/ (http://foro.elhacker.net/net-b62.0/)

Además, para mejor comprensión y legibilidad del código te recomiendo que uses GeShi para . Net
Código
  1. Imports System.IO
  2.  
  3.  
  4. Public Class Form1
  5.  
  6.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  7.  
  8.        cargarCarpetas("C:/Manuales")
  9.    End Sub
  10.    Public Sub cargarSubcarpetas(ByVal rutaRaiz As String,
  11.              ByVal nodoTree As Windows.Forms.TreeNode)
  12.        On Error Resume Next
  13.        Dim carpetaActual As String
  14.        Dim indice As Integer
  15.  
  16.        If nodoTree.Nodes.Count = 0 Then
  17.            For Each carpetaActual In
  18.                    My.Computer.FileSystem.GetDirectories(rutaRaiz)
  19.                indice = carpetaActual.LastIndexOf(System.IO.Path.PathSeparator)
  20.                nodoTree.Nodes.Add(carpetaActual.Substring(indice + 1,
  21.                     carpetaActual.Length - indice - 1))
  22.                nodoTree.LastNode.Tag = carpetaActual
  23.                nodoTree.LastNode.ImageIndex = 0
  24.            Next
  25.        End If
  26.    End Sub
  27.  
  28.    Public Sub cargarCarpetas(ByVal rutaRaiz As String)
  29.        Dim nodoBase As System.Windows.Forms.TreeNode
  30.  
  31.        If IO.Directory.Exists(rutaRaiz) Then
  32.            If rutaRaiz.Length <= 3 Then
  33.                nodoBase = TreeView1.Nodes.Add(rutaRaiz)
  34.            Else
  35.                nodoBase = TreeView1.Nodes.Add(
  36.                    My.Computer.FileSystem.GetName(rutaRaiz))
  37.            End If
  38.            nodoBase.Tag = rutaRaiz
  39.            cargarSubcarpetas(rutaRaiz, nodoBase)
  40.        Else
  41.            Throw New System.IO.DirectoryNotFoundException()
  42.        End If
  43.    End Sub
  44.  
  45.    Private Sub TreeView1_AfterExpand(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterExpand
  46.        Dim n As System.Windows.Forms.TreeNode
  47.        For Each n In e.Node.Nodes
  48.            cargarSubcarpetas(n.Tag, n)
  49.        Next
  50.    End Sub
  51.  
  52.    Private Sub TreeView1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TreeView1.MouseDoubleClick
  53.  
  54.        Dim ruta As String
  55.        ruta = TreeView1.SelectedNode.ToString.Substring(9)
  56.        TextBox1.Text = ruta
  57.        Shell("explorer.exe root=" & TextBox1.Text & " ", vbNormalFocus)
  58.  
  59.    End Sub
  60. End Class



Se me olvidaba...
En el directorio de instalación de VB.NET 2010 puedes encontrar un archivo comprimido con ejemplos, concretamente en:
Código:
C:\Program Files\Microsoft Visual Studio 10.0\Samples\3082 

Encontrarás un archivo ZIP llamado VBSamples.zip. Dentro del mismo una carpeta llamada Winforms Samples y dentro de ésta, otra llamada ExplorerApp que contiene un ejemplo de Explorador de carpetas, con función doble clic sobre los archivos para abrirlos.

Saludos