Benutzer mit den meisten Antworten
Datei Icon Im Listview Anzeigen

Frage
-
Hallo Ihrs
Ich bin gerade dabei mich mit dem ListView zu befassen, und befülle dieses mit Dateinamem aus einem Ordner, bis dahin alles Ok. Nun möchte ich aber zu jedem Dateinamen auch das dazugehörige Icon anzeigen. Was mich vor große Probleme stellt. Wenn ich bis jetzt alles Richtig verstanden habe ist dazu eine Imagelist Notwendig, finde das zwar komisch, aber was sein muss, muss eben sein. (-: Also ich hole mir die Icons mit "Dim IconAusDatei As Icon = Icon.ExtractAssociatedIcon" das klappt soweit ganz gut und mit "ImageList1.Images.Add(IconAusDatei)" packe ich diese in die Imagelist, auch das geht. Aber wie bekomme ich diese jetzt in mein Listview. Irgendwie ist mir dieses Steuerelement etwas Suspekt vieleich kann mir mal jemand von Euch etwas Licht in das "Dunkle" bringen.
Zum besseren verständniss ein kleine Beispiel.
Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load For Each Datei As String In My.Computer.FileSystem.GetFiles("C:/IconTestOrdner") ' Datei enhält den ganzen Pfad Dim Name As String = My.Computer.FileSystem.GetName(Datei) ' Name enthält nur den Namen Dim IconAusDatei As Icon = Icon.ExtractAssociatedIcon(Datei) ImageList1.Images.Add(IconAusDatei) Dim Item = ListView1.Items.Add(Name) Next End Sub End Class
Achs meine ganzen wilden Versuche, wie ich versucht habe die Icons aus der Imagelist in das ListView zu bekommen habe ich im Code mal weggelassen, wollte mich nicht total Blamieren. (-: Wie gesagt mit Listview habe ich mich noch nicht befast. Fände es super wenn ihr mit mal ein kleines Beispiel zeigen könntet.
Gruss
Wild-Life78
Antworten
-
Hallo,
Lege für das Item den ImageIndex fest, denn Du beim Add erhälst, alternativ geht auch ein Schlüssel via ImageKey (z. B. der Dateityp)
siehe Gewusst wie: Anzeigen von Symbolen für das ListView-Steuerelement in Windows Forms
Gruß Elmar- Als Antwort markiert Wild-Life78 Donnerstag, 10. Dezember 2009 14:40
-
Danke Elmar
Das war der Denkanstoß den ich gebraucht habe, Mhh wer rechnet auch damit das die Lösung so einfach ist?????
Manchmal sieht man eben den Wald vor lauter Bäumen nicht.
Ich habe es viel zu komplieziert versucht. Wie ? das behalte ich mal lieber für mich ..... lach
Aber Hier nochmal die fertige Lösung, für den fall das Jemand mal ein ähnliches Problem hat.
Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load For Each Datei As String In My.Computer.FileSystem.GetFiles("C:/IconTestOrdner") ' Datei enhält den ganzen Pfad Dim Name As String = My.Computer.FileSystem.GetName(Datei) ' Name enthält nur den Namen Dim IconAusDatei As Icon = Icon.ExtractAssociatedIcon(Datei) ImageList1.Images.Add(Name, IconAusDatei) 'MsgBox(Name) war nur zum Test ListView1.Items.Add(Name, Name) Next End Sub End Class
Lg Ronny- Als Antwort markiert Wild-Life78 Donnerstag, 10. Dezember 2009 14:40
Alle Antworten
-
Hallo,
Lege für das Item den ImageIndex fest, denn Du beim Add erhälst, alternativ geht auch ein Schlüssel via ImageKey (z. B. der Dateityp)
siehe Gewusst wie: Anzeigen von Symbolen für das ListView-Steuerelement in Windows Forms
Gruß Elmar- Als Antwort markiert Wild-Life78 Donnerstag, 10. Dezember 2009 14:40
-
Danke Elmar
Das war der Denkanstoß den ich gebraucht habe, Mhh wer rechnet auch damit das die Lösung so einfach ist?????
Manchmal sieht man eben den Wald vor lauter Bäumen nicht.
Ich habe es viel zu komplieziert versucht. Wie ? das behalte ich mal lieber für mich ..... lach
Aber Hier nochmal die fertige Lösung, für den fall das Jemand mal ein ähnliches Problem hat.
Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load For Each Datei As String In My.Computer.FileSystem.GetFiles("C:/IconTestOrdner") ' Datei enhält den ganzen Pfad Dim Name As String = My.Computer.FileSystem.GetName(Datei) ' Name enthält nur den Namen Dim IconAusDatei As Icon = Icon.ExtractAssociatedIcon(Datei) ImageList1.Images.Add(Name, IconAusDatei) 'MsgBox(Name) war nur zum Test ListView1.Items.Add(Name, Name) Next End Sub End Class
Lg Ronny- Als Antwort markiert Wild-Life78 Donnerstag, 10. Dezember 2009 14:40