Listview mit dateien aus ordner füllen und Icons anzeigen!

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von xtts02.

    Listview mit dateien aus ordner füllen und Icons anzeigen!

    Hi! Ich möchte, dass mein programm die dateien aus einem ordner ausliest, in ein listview packt und deren symbole als icons bentzt. mein code:

    VB.NET-Quellcode

    1. Imports System.IO
    2. Public Class Form1
    3. Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    4. ListView1.Items.Clear()
    5. Dim di As New System.IO.DirectoryInfo("C:\Users\Public\Desktop\Games")
    6. If (di.Exists) Then
    7. For Each fi As System.IO.FileInfo In di.GetFiles()
    8. ListView1.Items.Add(New ListViewItem() With {.Text = fi.Name, .Tag = fi.FullName})
    9. Next
    10. End If
    11. End Sub
    12. End Class


    Mein Problem: Er zeigt die Items ohne Icon an (nur schrift) und die einträge haben noch die dateiendung! die soll weg
    außerdem wil ich die datei starten wenn sie ausgewählt ist, weis aber net wie ich das mit process.start machen soll
    Icon extrahieren:
    vbarchiv.net/tipps/tipp_1782-i…-datei-ermitteln-net.html
    Die Icons musst du dann der ImageList der Listview hinzufügen und dem jeweiligen Element über die Eigenschaft ImageKey zuweisen.

    VB.NET-Quellcode

    1. ' der Listview erstmal eine ImageList (im Designer) hinzufügen
    2. ' ###
    3. Listview.ImageList.Images.Add(dateiname, Icon) ' dateiname als Key (für die spätere Erkennung), und das Icon
    4. ' das neue Listviewitem bekommt das Icon an der Erkennung des Dateinamens zugewiesen
    5. new Listviewitem() with { .ImageKey = dateiname }

    Den Dateinamen ohne Dateiendung kannst du mit

    VB.NET-Quellcode

    1. Path.GetFileNameWithoutExtension(fi.FullName) ' angepasst an die foreach Schleife

    bestimmen. Musst du dann für "dateiname" einsetzen (z. B. als Variable).