Entwickler-Ecke
WinForms - Dateiname durch openFileDialog1 in textbox1 anzeigen lassen
AlanWake - Fr 10.09.10 09:53
Titel: Dateiname durch openFileDialog1 in textbox1 anzeigen lassen
Hallo Leute,
ich versuche schon seit längerer Zeit, mir einen Dateinamen in einer Textbox anzeigen zu lassen, die ich voher durch einen openFileDialog1 auswählen konnte.
Das ist was ich bis jetzt habe:
C#-Quelltext
1: 2: 3: 4:
| if (openFileDialog1.ShowDialog() == DialogResult.OK) { textBox1.Text = openFileDialog1.FileName; } |
Bei dem Code wird leider der komplette Pfad + Dateiendung angezeigt :(
Bei Google konnte ich keine Lösung für mein Problem finden :cry:
Gibt es eine Möglichkeit, nur den Dateinamen anzeigen zu lassen ohne Pfad und Endung :?:
gruß Alan
12profi - Fr 10.09.10 09:59
Hmm der Code scheint richtig zu sein was hast du denn als Filname eingestellt ?
bakachan - Fr 10.09.10 10:02
Schneid dir doch einfach den String zurecht oder benutz die FileInfo Klasse (System.IO Namespace), da gibts dann direkt Properties für Name, Fullname, Extension usw.
AlanWake - Fr 10.09.10 10:02
@12profi Ich öffne den openFileDialog1 und wähle eine Datei aus.
@bakachan Kannst du mir ein Code Beispiel geben :?:
gruß Alan
Greenberet - Fr 10.09.10 10:03
Du bekommst den kompletten Pfad mit, weil du normalerweise mit der Datei etwas machen willst( öffnen z.B ) und dafür brauchst du halt den Pfad.
Wenn du wirklich nur den Namen ohne Änderung haben willst würde ich mit
STRING.LASTINDEXOF und
STRING.SUBSTRING arbeiten, oder der einfachere Weg ->
FILEINFO
AlanWake - Fr 10.09.10 10:20
Habe so etwas voher noch nie gemacht, kann mir jemand ein Code Beispiel geben :?:
gruß Alan
Yogu - Fr 10.09.10 10:37
Du hast gerade jede Menge an Codebeispielen bekommen, klick doch einfach mal die Links an und schau, was die MSDN dazu schreibt :roll:
Edit: Die Klasse
FileInfo ist vielleicht ein bisschen zu komplex dafür, einfacher ist es mit der
SYSTEM.IO.PATH-Klasse.
Necaremus - Fr 10.09.10 12:22
kleiner tipp, der zumindest mir immer hilft:
wenn du eine klasse nicht kennst erstell dir einfach kurz eine instanz und guck dir alles mögliche von dem ding an ;)
C#-Quelltext
1: 2:
| FileInfo f = new FileInfo(""); f. |
und das dropdownmenü durchstöbern ;)
AlanWake - Fr 10.09.10 12:43
Vielen dank Necaremus, hat super funktioniert, danke das du dir die Mühe gemacht hast und ein Code Beispiel gepostet hast, bei den Links habe ich nur Bahnhof verstanden :)
Code:
C#-Quelltext
1: 2: 3: 4: 5:
| if(openFileDialog1.ShowDialog() == DialogResult.OK) { FileInfo f = new FileInfo(openFileDialog1.FileName); textBox1.Text = f.Name; } |
gruß Alan
ps. Das durchstöbern des Dropdownmenüs brauche ich immer :)
Trashkid2000 - Fr 10.09.10 21:55
Und das Ganze nochmal ohne FileInfo...
C#-Quelltext
1: 2: 3: 4: 5:
| OpenFileDialog ofd = new OpenFileDialog(); if (ofd.ShowDialog() == DialogResult.OK) { textBox1.Text = ofd.FileName.Substring(ofd.FileName.LastIndexOf('\\')+1); } |
Gruss, Marko
Kha - Fr 10.09.10 22:20
Es soll übrigens Plattformen geben, die keinen Backslash als Verzeichnistrenner benutzen.
Trashkid2000 - Fr 10.09.10 22:31
Du hast ja Recht, habe das auch nur geschrieben, weil oben SubString und LastIndexOf genannt wurden. Aber ansonsten ist es schon gut, dass es für sowas vorgefertigte Methoden oder auch Eigenschaften gibt.
Kha hat folgendes geschrieben : |
| Es soll übrigens Plattformen geben, die keinen Backslash als Verzeichnistrenner benutzen. |
Ist mir bekannt, z.B. Linux mit '/'. Aber auf den Plattformen läuft ja auch nicht .NET-Code, oder :wink:
Lasse mich gerne etwas anderes belehren.
Marko
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!