Encha um ListView com uma listagem de diretório

Vamos criar em Visual Basic. uma visão de um diretório em um ListView, assim como vemos no Windows Explorer.

Você só precisa de uma forma e um listview.

Como mostrado na imagem abaixo, nós adicionamos as colunas ao listview. Eles são: Nome, Tamanho, Data Data adicionada, modificado e acessado pela última vez.

Para ler as informações do diretório DirectoryInfo vai usar a instrução contida no namespace System.IO por isso temos de fazer uma importação como mostrado abaixo.

 Imports System.IO

Em seguida, no evento Load do formulário copiar o seguinte código:

 D Dim DirectoryInfo Novo ("C: \ Windows")
 ListView1.View = View.Details
 ListView1.FullRowSelect = True

 ListView1.BeginUpdate ()
 ListView1.Items.Clear ()

 Para cada f Como FileInfo Em d.GetFiles
     Item de Dim ListViewItem (f.Name)

     item.SubItems.Add (f.length)
     item.SubItems.Add (f.CreationTime)
     item.SubItems.Add (f.LastWriteTime)
     item.SubItems.Add (f.LastAccessTime)

     ListView1.Items.Add (item)
 Próximo
 ListView1.EndUpdate ()

O código é muito simples, por isso não vou fazer muitas explicações ... mas se você tiver alguma dúvida é só comentar e dentro do meu meio eu estarei respondendo.

18 Responses to "Encher um ListView com uma listagem de diretório"

  1. Informações Bitacoras.com ...

    Taxa em Bitacoras.com: Vamos criar o Visual Basic Net a visão de um diretório em um ListView, assim como vemos no Windows Explorer.. Você só precisa de uma forma e um listview. Como mostrado na im seguinte .....

  2. [...] No exemplo acima, vamos ver como, visual basic. Net classificar dados listview por qualquer de seus [...]

  3. Oscar diz:

    E como fazer a encomenda por qualquer campo em ordem decrescente de data Data Criado por exemplo.

    Obrigado e cumprimentos.

  4. Julian Mejia diz:

    Olá
    Eu tenho algumas dúvidas
    - Isso abriu arquivos pasta do windows
    - E se você pudesse postar o código para preencher um listview com informações de um banco de dados

    muito obrigado pela sua atenção e se você puder me ajudar

  5. Erik diz:

    Eu era muito útil, Obrigado

  6. Gerson Van Nuvem diz:

    Muito obrigado serviu-me bem

  7. Christia disse:

    E para os subdiretórios como sério?

  8. Omar diz:

    pedido de desculpas ami sgt eu recebo o erro

    Erro Resolução de sobrecarga falhou porque nenhum uma das funções "Adicionar" para que o acesso pode ser chamado com estes argumentos:
    'Adicionar Função Pública (texto As String) As System.Windows.Forms.ListViewItem.ListViewSubItem': Option Strict On não permite a conversão implícita de 'Long' para 'String'.
    'Adicionar Função Pública (item Como System.Windows.Forms.ListViewItem.ListViewSubItem) Como System.Windows.Forms.ListViewItem.ListViewSubItem': Valor do 'Long' tipo não pode ser convertido em 'System.Windows.Forms.ListViewItem. ListViewSubItem '.

    • Eliseu diz:

      que versão do framework que você está usando?
      talvez com uma versão anterior não pode fazer em uma única linha.
      Programação NET Compact por algo semelhante aconteceu comigo e tive que quebrar tais ordens em diversas linhas.

      Tente fazer isso e tenho certeza que ele vai resolver.

      Sorte

  9. Eriskon diz:

    Eu gostaria de saber como adicionar itens com ícones.

  10. Omar diz:

    Olá
    Eu usei o código, mas eu tenho um problema de ordenação
    Eu preciso classificar por data de criação
    (CreationTime) eu testei seu código e criei o módulo de ordem, mas não está funcionando. exemplo
    se eu tiver dados de 2011/01/03 a 2011/03/05 classificação data de criação é a mescla
    o que é necessário é a ordenação por data e hora de criação que aparece
    exemplo

    2011/01/03 16:50:21 repor01
    2011/01/03 16:52:11 repor02
    2011/01/04 15:01:16 repor03
    2011/03/02 20:02:20 repor04

    em ordem crescente

    espero que você pode me responder obrigado

  11. Martin diz:

    Olá,

    Eu estou tentando incorporar no meu projeto, o exemplo que você cita no post.

    A questão está me dando erros de todos os tipos.

    Você pode enviar o projeto em VB para ver o código?

    Aguardo a sua resposta.

    • Eliseu diz:

      este código é usar o Visual Basic. líquido, de preferência microsoft framework versão 2.0 ou superior.

  12. Jordan diz:

    Ei, você sabe que eu estava vendo o seu código q e eu não posso fazê-lo funcionar eu vou lá o q passos e eu q é apenas quero mostrar apenas arquivos txt a partir de já muito obrigado

  13. Jaramillo omar diz:

    código muito bom amigo funciona perfeitamente para mim.

    O problema é que ele fica muito lento para ver a pasta, por exemplo, se eu tiver 20 imagens a consulta é muito rápido, mas se eu tiver 200 arquivos mais leva uma eternidade para abrir o recipiente.

    Se você teve algum código para combinar o ListView ou o caso:

    Para cada f Como FileInfo Em d.GetFiles
    Item de Dim ListViewItem (f.Name)
    item.SubItems.Add (f.length)
    item.SubItems.Add (f.CreationTime)
    item.SubItems.Add (f.LastWriteTime)
    item.SubItems.Add (f.LastAccessTime)
    ListView1.Items.Add (item)
    Próximo

    Eu apreciaria muito mais rápido

Comentar