Ir para conteúdo
Fórum Script Brasil
  • 0

Mostrar conteúdo da pasta


Marcos Daniel Schmidt Garo

Pergunta

Ola galera eu queria criar um formulário que eu determine o caminho que ele deve abrir e me mostre todo o conteudo desta pasta, como o windows explorersó que com caminho fixo pelo botão. estou criando um sistema de identificação para a delegacia onde trabalho e este seria o projeto de fotos. Se puderem me ajudar agradeço muito.

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Bom, se entendi você quer exibir as imagens de modo semelhante a opção "Miniaturas" do Windows Explorer, certo? Então, primeiro coloque uma ListView no form e mude as suas propriedades conforme os valores abaixo:

OwnerDraw = True

View = Tile

TileSize = 200; 200

Feito isso, vá no evento DrawItem da ListView1 e coloque o seguinte código:

Dim img As Image = Image.FromFile(e.Item.Text)

e.DrawBackground()
e.Graphics.DrawImage(img, New Rectangle(e.Bounds.Left, e.Bounds.Top, e.Bounds.Width, e.Bounds.Height))
e.DrawText(TextFormatFlags.Bottom)
e.DrawFocusRectangle()
Daí então, vá no evento Load do form e coloque o seguinte:
Dim arqs() as String = IO.Directory.GetFiles("c:\pasta", "*.jpg")

For Each arq As String In arqs
    ListView1.Items.Add(arq)
Next

Esse código acima obtém todos os arquivos da pasta especificada e adiciona os nomes dos mesmos à ListView1. O código colocado no evento DrawItem da ListView1 é o código que efetivamente desenha a imagem no lugar do item (porque o normal seria aparecer um ícone e/ou o texto do item). O que faz com que isso aconteça é o fato de termos mudado a propriedade OwnerDraw da Listview1 para true (o que diz para ela que queremos personalizar a maneira como ela será desenhada).

Bom, não sei o seu nível de conhecimento em programação, mas os passos acima são para alguém que já tenha pelo menos o mínimo de familiarização com o ambiente do Visual Studio e com a linguagem Visual Basic.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
Bom, se entendi você quer exibir as imagens de modo semelhante a opção "Miniaturas" do Windows Explorer, certo? Então, primeiro coloque uma ListView no form e mude as suas propriedades conforme os valores abaixo:

OwnerDraw = True

View = Tile

TileSize = 200; 200

Feito isso, vá no evento DrawItem da ListView1 e coloque o seguinte código:

Dim img As Image = Image.FromFile(e.Item.Text)

e.DrawBackground()
e.Graphics.DrawImage(img, New Rectangle(e.Bounds.Left, e.Bounds.Top, e.Bounds.Width, e.Bounds.Height))
e.DrawText(TextFormatFlags.Bottom)
e.DrawFocusRectangle()
Daí então, vá no evento Load do form e coloque o seguinte:
Dim arqs() as String = IO.Directory.GetFiles("c:\pasta", "*.jpg")

For Each arq As String In arqs
    ListView1.Items.Add(arq)
Next

Esse código acima obtém todos os arquivos da pasta especificada e adiciona os nomes dos mesmos à ListView1. O código colocado no evento DrawItem da ListView1 é o código que efetivamente desenha a imagem no lugar do item (porque o normal seria aparecer um ícone e/ou o texto do item). O que faz com que isso aconteça é o fato de termos mudado a propriedade OwnerDraw da Listview1 para true (o que diz para ela que queremos personalizar a maneira como ela será desenhada).

Bom, não sei o seu nível de conhecimento em programação, mas os passos acima são para alguém que já tenha pelo menos o mínimo de familiarização com o ambiente do Visual Studio e com a linguagem Visual Basic.

Abraços,

Graymalkin

Deu certinho, mas eu queria indicar o caminho com botôes, muito obrigado pelo toque, eu estou começando agora.

Link para o comentário
Compartilhar em outros sites

  • 0
Deu certinho, mas eu queria indicar o caminho com botôes, muito obrigado pelo toque, eu estou começando agora.

Isso é simples, basta colocar uma caixa de texto no form e fazer:

Dim seleção As New FolderBrowserDialog()

If seleção.ShowDialog() = Windows.Forms.DialogResult.OK Then
    txtCaminho.Text = seleção.SelectedPath
End If
E lembre-se de mudar a linha...
Dim arqs() as String = IO.Directory.GetFiles("c:\pasta", "*.jpg")
... para:
Dim arqs() as String = IO.Directory.GetFiles(txtCaminho.Text, "*.jpg")

Certo? ;)

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
Deu certinho, mas eu queria indicar o caminho com botôes, muito obrigado pelo toque, eu estou começando agora.

Isso é simples, basta colocar uma caixa de texto no form e fazer:

Dim seleção As New FolderBrowserDialog()

If seleção.ShowDialog() = Windows.Forms.DialogResult.OK Then
    txtCaminho.Text = seleção.SelectedPath
End If
E lembre-se de mudar a linha...
Dim arqs() as String = IO.Directory.GetFiles("c:\pasta", "*.jpg")
... para:
Dim arqs() as String = IO.Directory.GetFiles(txtCaminho.Text, "*.jpg")

Certo? ;)

Graymalkin

Valeu Pela Dica

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...