FolderBrowserDialog - Textbox.Text verschwindet beim schließen des Dialoges

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von LaMiy.

    FolderBrowserDialog - Textbox.Text verschwindet beim schließen des Dialoges

    Hallo

    Ich habe ein Problem mit dem FolderBrowserDialog, wenn ich ihn schließe (abbrechen auf X) wird der Text in der Textbox wo der Pfad zum dem Ordner eingefügt wird entfernt ..

    VB.NET-Quellcode

    1. Private Sub LinkLabel2_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel2.LinkClicked
    2. Dim FBD As New FolderBrowserDialog
    3. FBD.Description = "Wähle ein neues Verzeichnis."
    4. FBD.ShowDialog()
    5. Me.TextBox2.Text = FBD.SelectedPath
    6. End Sub


    Und noch eine Frage:
    Wie kann ich den Namen des FolderBrowserDialog ändern? Bei mir steht in Englisch (weil Betriebssystem auf Englisch) "Browse For Folder", kann man das ändern?
    "Denken ist die schwerste Arbeit, die es gibt. Das ist wahrscheinlich auch der Grund, warum sich so wenig Leute damit beschäftigen." - Henry Ford
    Werte das/den DialogResult aus, um festzustellen, welcher Button geklickt wurde.

    VB.NET-Quellcode

    1. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    2. Using fBD As New FolderBrowserDialog
    3. If fBD.ShowDialog = Windows.Forms.DialogResult.OK Then
    4. TextBox1.Text = fBD.SelectedPath
    5. End If
    6. End Using
    7. End Sub
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o

    Vultrax schrieb:

    wird entfernt ..
    So nicht:

    VB.NET-Quellcode

    1. Using FBD As New FolderBrowserDialog
    2. FBD.Description = "Wähle ein neues Verzeichnis."
    3. If FBD.ShowDialog() <> Windows.Forms.DialogResult.OK Then
    4. Return
    5. End If
    6. Me.TextBox2.Text = FBD.SelectedPath
    7. End Using
    Der Titel kommt vom System. Ist XDeins englisch?
    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!
    Naja wenn du Abbrichst wurde kein Pfad gewählt, somit ist SelectedPath leer und diese "leere" wird in die Textbox eingefügt.

    @Rod: irgendwie bischel umständlich oder nicht?? Schöner Lesbar ist es so

    VB.NET-Quellcode

    1. Using FBD As New FolderBrowserDialog
    2. FBD.Description = "Wähle ein neues Verzeichnis."
    3. If FBD.ShowDialog() = Windows.Forms.DialogResult.OK Then
    4. Me.TextBox2.Text = FBD.SelectedPath
    5. End If
    6. End Using

    Dodo schrieb:

    irgendwie bischel umständlich oder nicht?
    Wenn es dann mit dem Code noch weiter geht, nicht. :D
    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!
    Man sieht ja das es nur ein LinkLabel_Click ist und selbst wenn, ein Sub hat kein Return, dann müsste man scohn mit Exit Sub arbeiten *g*
    Aber ansonsten kann auch der weitere Code in die If Bedinung, denn der Code soll ja ausgeführt werden wenn der Pfad stimmt.
    Danke, der Code von euch allen funktioniert. :)

    Aber um nicht nur Copy&Past zu machen, würde ich gerne Wissen wozu das "Using" gut ist?
    (Bin immer noch ein Anfänger und würde gerne dazulernen :-))
    "Denken ist die schwerste Arbeit, die es gibt. Das ist wahrscheinlich auch der Grund, warum sich so wenig Leute damit beschäftigen." - Henry Ford

    Dodo schrieb:

    ein Sub hat kein Return
    Das sehe ich aber anders:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    2. Using FBD As New FolderBrowserDialog
    3. FBD.Description = "Wähle ein neues Verzeichnis."
    4. If FBD.ShowDialog() <> Windows.Forms.DialogResult.OK Then
    5. Return
    6. End If
    7. Me.TextBox2.Text = FBD.SelectedPath
    8. End Using
    9. End Sub
    -----------
    @Vultrax: Using räumt alles (allokierten Speicher und solch) fein säuberlich auf, ist sehr zu empfehlen.
    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!