Datein im Ordner anzeigen lassen und per doppelklick starten funktioniert nicht

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Wuppertaler93.

    Datein im Ordner anzeigen lassen und per doppelklick starten funktioniert nicht

    Hallo alle zusammen ich bin grade ein kleines programm am schreiben was mir die datein in einem Ordner anzeigt und ich sie dann öffnen kann, leider lassen sich die datein nicht starten könnt ihr mir da weiter helfen ich weiss nicht was ich falsch gemacht habe

    VB.NET-Quellcode

    1. Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
    2. Process.Start(CStr(ListBox1.SelectedItem))
    3. End Sub
    4. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    5. For Each dateien As String In My.Computer.FileSystem.GetFiles("C:\Program Files\CCleaner")
    6. dateien = dateien.Replace("C:\Program Files\CCleaner\", Nothing)
    7. Me.ListBox1.Items.Add(dateien)
    8. Next
    9. End Sub


    am ende sollen im order verknüpfungen sein wie mache ich in der listbox das .Ink am ende weg?

    MfG: Wuppi
    Process.Start benötigt den gesamten Pfad welchen du aber bereits im Form_Load mit Nothing replaced.
    Schreib dir eventuell ein Dictonary mit mit dem Index der Items und den gesamten Dateipfad.

    lg
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten
    verstehe ich nicht ganz was du meinst mit
    Schreib dir eventuell ein Dictonary mit mit dem Index der Items und den gesamten Dateipfad.
    kla wenn ich

    VB.NET-Quellcode

    1. dateien = dateien.Replace("C:\Program Files\CCleaner\", Nothing)


    entferne Funktioniert es aber in der listbox ist dan der ganze pfad drinne den ich ja nicht möchte.
    hmm...

    EDIT: der ordner CCleaner ist nur zum Testen ausgewählt das bleibt am ende nicht so
    Wenn Du den Pfad kennst, kannst Du ihn auch einfach wieder davorhängen:

    VB.NET-Quellcode

    1. Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
    2. Process.Start("C:\Program Files\CCleaner\" & ListBox1.SelectedItem.ToString)
    3. End Sub
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Meinte das so:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private _Pairs As New Dictionary(Of Integer, String) ' Index der Listbox + kompletter Pfad
    3. Private _counter As Integer = 0
    4. Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
    5. Process.Start(_Pairs(ListBox1.SelectedIndex))
    6. End Sub
    7. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    8. For Each dateien As String In My.Computer.FileSystem.GetFiles("C:\Program Files\CCleaner")
    9. _Pairs.Add(_counter, dateien)
    10. _counter += 1
    11. dateien = dateien.Replace("C:\Program Files\CCleaner\", Nothing)
    12. Me.ListBox1.Items.Add(dateien)
    13. Next
    14. End Sub
    15. End Class


    lg
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten

    Wuppertaler93 schrieb:

    der ordner CCleaner ist nur zum Testen ausgewählt das bleibt am ende nicht so

    Dann musst Du da nach dem Testen einfach "C:\Temp\" reinschreiben oder halt Deinen Pfad.
    Oder hast Du eine noch andere Vorgehensweise?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    RodFromGermany schrieb:

    Wenn Du den Pfad kennst, kannst Du ihn auch einfach wieder davorhängen:

    VB.NET-Quellcode

    1. Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
    2. Process.Start("C:\Program Files\CCleaner\" & ListBox1.SelectedItem.ToString)
    3. End Sub

    Funktioniert Danke schön ^^

    @fichz ach so meintest du das mann bin ich müde glaub ich solte langsam ins bett gehn ich seh schon das meine fragen sonst nur noch einfacher werden ^^"

    @RodFromGermany nein eigentlich nicht den hinweis habe ich nur dazu geschrieben damit ihr nicht denkt ich bastel ein programm um CCleaner zu starten wo eine Verknüpfung auf dem Desktop ja reicht


    MfG: Wuppi