Wie kann ich Benutzern das Verzeichnis auswählen lassen

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von Cheffboss.

    Wie kann ich Benutzern das Verzeichnis auswählen lassen

    Huhu,
    bin relativ neu in Visual Basic..
    Wie kann man das einbauen im Code, dass man beim Button ein Verzeichnis angeben muss.
    Sprich: Ich möchte jetzt einen Button erstellen, womit ich ein Spiel oder Programm starten kann.. Also Process.Start("VERZEICHNIS")
    Da ich dieses Programm eventuell veröffentlichen möchte und jeder ein anderes Verzeichnis hat, muss ja immer das Verzeichnis geändert werden..
    Wie kann ich das also machen, dass man bevor das Programm zum ersten mal startet, abgefragt wird, in welchem Verzeichnis dieses Spiel sich befindet... Ich hoffe ihr versteht was ich meine! :)

    Mit freundlichen Grüßen
    Willkommen im Forum. Abhängig davon, in welcher Umgebung Du Dich befindest: Bei WinForms gibt's nen DirectoryPicker FolderBrowserDialog in der ToolBox dafür.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    1. File-Uploads bitte forenintern über [+ Erweiterte Antwort]
    2. Wie Du Post#2 entnehmen kannst, hatte ich den falschen Namen im Kopf: FolderBrowserDialog ist richtig.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    So:
    Habe jetzt

    VB.NET-Quellcode

    1. ​Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. With FolderBrowserDialog1
    3. .SelectedPath = "Das Verzeichnis"
    4. If .ShowDialog = Windows.Forms.DialogResult.OK Then
    5. MsgBox(.SelectedPath)


    eingegeben..
    Wie genau muss ich das bei Process.Start("") eingeben?
    SelectedPath ist ja der Pfad der im OpenFileDialog ausgewählt wurde.

    Diesen kannst du nun erst in einer Variable speichern (wenn du ihn später im Programm nochmals brauchst oder direkt so schreiben:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. With FolderBrowserDialog1
    3. .SelectedPath = "Das Verzeichnis"
    4. If .ShowDialog = Windows.Forms.DialogResult.OK Then
    5. 'MsgBox(.SelectedPath)
    6. Process.Start(.SelectedPath)
    7. End If
    ----

    WebApps mit C#: Blazor
    Und so öffnest Du den ausgewählten Pfad im Windows-Explorer. Aber vielleicht willst Du ja was anderes machen. Dazu müsstest Du uns allerdings sagen, was. Oder reichen Dir die o.g. Infos schon?

    btw: zu Stichwort MsgBox: Bevor Du weitermachst, bitte die empfohlenen VS-Einstellungen verwenden.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    Akito schrieb:

    So:
    Habe jetzt

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. With FolderBrowserDialog1
    3. .SelectedPath = "Das Verzeichnis"
    4. If .ShowDialog = Windows.Forms.DialogResult.OK Then
    5. MsgBox(.SelectedPath)


    eingegeben..
    Wie genau muss ich das bei Process.Start("") eingeben?

    Du gibst die ausführbare Datei als Parameter an. Ein kleines Beispiel wie ich es lösen würde:

    VB.NET-Quellcode

    1. Using fbd As New System.Windows.Forms.FolderBrowserDialog With {.Description = "Bitte wähle das korrekte Verzeichnis aus.", .SelectedPath = System.Windows.Forms.Application.StartupPath}
    2. If fbd.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
    3. System.Diagnostics.Process.Start(fbd.SelectedPath & "\Program.exe")
    4. End If
    5. End Using

    "Denken ist die schwerste Arbeit, die es gibt. Das ist wahrscheinlich auch der Grund, warum sich so wenig Leute damit beschäftigen." - Henry Ford
    Neues Problem.. Habe gerade nochmal alles neugemacht..

    Jetzt wenn ich die Datei auswähle, öffnet sich einfach der Ordner... Das ist der Code

    VB.NET-Quellcode

    1. ​Public Class Startbildschirm
    2. Private Sub FolderBrowserDialog2_HelpRequest(sender As Object, e As EventArgs)
    3. End Sub
    4. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    5. With FolderBrowserDialog1
    6. .SelectedPath = "S:\games\World_of_Tanks_EU"
    7. If .ShowDialog = Windows.Forms.DialogResult.OK Then
    8. 'MsgBox(.SelectedPath)
    9. Process.Start(.SelectedPath)
    10. End If
    11. End With
    12. End Sub
    13. End Class
    Das lies bitte Post#8 und #9 (nochmal?) gründlich durch. Solange wir nicht wissen, was Du willst, ist Hilfestellung sehr schwierig, Stichwort Glaskugelrückruf und Spekulatiusbacken.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Wenn du nicht das Verzeichnis öffnen willst sondern das Spiel.
    Dann verwende doch einen OpenFileDialog.
    Es wird dann das Spiel/Programm gestartet!

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. With OpenFileDialog1
    3. If .ShowDialog = Windows.Forms.DialogResult.OK Then
    4. Process.Start(.FileName)
    5. End If
    6. End With
    7. End Sub
    Visual Basic.NET 8o
    MS-SQL
    8o