OpenFileDialog Problem(-e)

  • VB.NET

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von raist10.

    OpenFileDialog Problem(-e)

    Hallöle!
    mein probleme sind:

    1. wenn ich im openfiledialog eine datei ausgewählt habe und auf öffen klicke, dann öffnet sich ein neuer openfiledialog und bei "dateiname:" steht dann der pfad der datei. was läuft schief?

    danke schonmal im vorraus.

    MFG
    Fabian

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Fabian112“ ()

    @alex danke habs mit ganz viel glück von alleine noch geschafft

    mein code:

    VB.NET-Quellcode

    1. Private Sub TextBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.Click
    2. With OpenFileDialog1
    3. .Filter = _
    4. "Alle Dateien (*.*) |*.*"
    5. .FilterIndex = 1
    6. .InitialDirectory = "C:\Users\"
    7. .Title = "Datei (-en) überspielen..."
    8. .ShowDialog()
    9. End With
    10. textbox.text = openfiledialog.filename
    11. If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
    12. ListBox1.Items.Add(OpenFileDialog1.FileName)
    13. End If
    14. End Sub
    Du öffnest den Dialog ja auch 2 mal

    VB.NET-Quellcode

    1. Private Sub TextBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.Click
    2. With OpenFileDialog1
    3. .Filter = _
    4. "Alle Dateien (*.*) |*.*"
    5. .FilterIndex = 1
    6. .InitialDirectory = "C:\Users\"
    7. .Title = "Datei (-en) überspielen..."
    8. .ShowDialog() ' <========= Zeigt den Dialog an, wertet aber nicht das Dialog Result aus
    9. End With
    10. textbox.text = openfiledialog.filename
    11. If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then ' <==== Zeigt den Dialog an und wertet das Dialog Result aus
    12. ListBox1.Items.Add(OpenFileDialog1.FileName)
    13. End If
    14. End Sub


    Wenn du schon With benutzen willst, dann zieh es komplett durch

    VB.NET-Quellcode

    1. Private Sub TextBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.Click
    2. With OpenFileDialog1
    3. .Filter = _
    4. "Alle Dateien (*.*) |*.*"
    5. .FilterIndex = 1
    6. .InitialDirectory = "C:\Users\"
    7. .Title = "Datei (-en) überspielen..."
    8. If .ShowDialog() = Windows.Forms.DialogResult.OK Then
    9. ListBox1.Items.Add(.FileName)
    10. textbox.text = .Filename
    11. End If
    12. End With
    13. End Sub
    Der von Dodo gepostete Code kann sowas nicht bewerkstelligen, da musst du einen Fehler eingebaut haben.
    Poste nochmal deinen Quellcode bitte.

    Noch was vergessen

    Wenn du willst das der dateiname nicht jedesmal nervig stehen bleibst dann setzte doch einfach:

    VB.NET-Quellcode

    1. .FileName = ""

    Das löst das ganze.
    Hab mir den Quellcode angesehen und ein wenig überarbeitet.

    VB.NET-Quellcode

    1. Private Sub TextBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.Click
    2. With OpenFileDialog1
    3. .Filter = _
    4. "Alle Dateien (*.*) |*.*"
    5. .FilterIndex = 1
    6. .InitialDirectory = "C:\Users\" 'Benütze lieber die Enviroment-Path Klasse da nicht jeder User eine Partition C:\ hat
    7. .Title = "Datei (-en) überspielen..."
    8. .FileName = ""
    9. End With
    10. OpenFileDialog.ShowDialog() 'Wird auf cancel gedrückt wir ein leerer parameter übergeben.
    11. If OpenFiledialog1.FileName = "" Then Exit Sub 'Der Parameter wird umgangen
    12. ListBox1.Items.Add(OpenFileDialog1.FileName)
    13. textbox1.text = ListBox1.SelectedItem.ToString
    14. 'Könnte ein Rechtschreibfehler drinnsein,wer ihn findet darf ihn behalten(hab das ganze ohne Idee nur mit Notepad getippt.)
    15. End Sub

    Das müsste das Problem lösen.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „(Ger)Foley“ () aus folgendem Grund: Hab mir den Quelltext genauer angesehen.

    @(Ger)Foley: Das sicher gut gemeint von dir, aber dein Code ist auch nicht viel besser als der vom TE, zumal du nicht das DialogResult auswertest sondern es über den den gewählten Dateinamen machst.
    Den Code den ich gepostet habe, der ist optimiert und richtig, so wendet man den OpenFileDialog an.

    Dodo schrieb:

    @(Ger)Foley: Das sicher gut gemeint von dir, aber dein Code ist auch nicht viel besser als der vom TE, zumal du nicht das DialogResult auswertest sondern es über den den gewählten Dateinamen machst.
    Den Code den ich gepostet habe, der ist optimiert und richtig, so wendet man den OpenFileDialog an.
    Jap also der Code stimmt zu 100%. Und da geht nix 2 mal auf. Also verwend den Code der dir schon weiter oben gepostet wurde.

    thefiloe schrieb:

    wenn ich mich richtig errinnere musst du erst wieder filename auf von mir aus "Select File" setzen
    Und wenn dich das dateiname zeug immer im Dialog an sich stört kann ich mich nur ganz am anfang zitieren.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.
    Was hat das eigendich mit der textbox auf sich die du dort drine hast ??

    Mach doch einfach ein MenuStrip oder einen einfachen Button

    An sich sollte doch der Code von Dodo aus Post 6 einwandfrei funktionieren?

    Aber wenn ich das richtig sehe packst Du die gewählte Datei in eine ListBox. Wieso arbeitests Du dann nicht auch mit MultiSelect für den OpenFileDialog? Wäre doch nur logisch das man aus einem OpenFileDialog auch gleich mehrere Dateien auf einen Schlag auswählen kann.

    Gruß

    Rainer