Benutzer mit den meisten Antworten
Ordner in einer Listbox auflisten

Frage
-
private void metroButton1_Click(object sender, EventArgs e) { string[] Filme = Directory.GetDirectories(@"F:\\Filme"); if (Directory.Exists(@"F:\\Filme")) { MessageBox.Show("Der Filme Ordner wurde gefunden!", "Gefunden", MessageBoxButtons.OK, MessageBoxIcon.Information); listBox1.Items.Clear(); listBox1.Items.AddRange(Filme); } else { MessageBox.Show("Kein Ordner gefunden. Bitte vergewissern Sie sich das der Ordner >Filme< im ROOT Verzeichnis der Festplatte ist!", "Fehler", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error); }
Das klappt mit dem Code ganz gut. Ich will aber das nur die Ordner Namen und nicht der komplette Pfad angezeigt wird.
Also nicht : F:\Filme\Film1 sondern nur: Film1
PS: Es sind Ordner, KEINE Dateien!!!
Antworten
-
Hallo,
du kannst einfach für jeden Ordnerpfad den Index des letzten \ ermitteln und alles dahinter stehende ausgeben:foreach(var film in Filme) listBox1.Items.Add(film.Substring(film.LastIndexOf(@"\") + 1));
Tom Lambert - C# MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets- Als Antwort markiert Kevin__-XD- Dienstag, 16. Dezember 2014 18:06
Alle Antworten
-
Hallo,
du kannst einfach für jeden Ordnerpfad den Index des letzten \ ermitteln und alles dahinter stehende ausgeben:foreach(var film in Filme) listBox1.Items.Add(film.Substring(film.LastIndexOf(@"\") + 1));
Tom Lambert - C# MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets- Als Antwort markiert Kevin__-XD- Dienstag, 16. Dezember 2014 18:06
-
Hallo Kevin,
entweder änderst Du das so, dass Du eine List<DirectoryInfo> erhältst und der Listbox dann sagst, dass die Name Eigenschaft ausgegeben werden soll oder Du entfernst den Pfad in allen Elementen vor der Übergabe mittels System.IO.Path.GetDirectoryName( ... )
Welche Art von Anwendung hast Du da eigentlich? WPF? App? WinForms? ...? Für letzteres könnte das bspw. so aussehen:
private void metroButton1_Click(object sender, EventArgs e) { if( Directory.Exists( @"F:\\Filme" ) ) { DirectoryInfo[] Folders = new DirectoryInfo( @"F:\\Filme" ).GetDirectories(); listBox1.DisplayMember = "Name"; listBox1.ValueMember = "FullName"; listBox1.Items.Clear(); listBox1.Items.AddRange( Folders ); } }
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
- Bearbeitet Stefan FalzModerator Dienstag, 16. Dezember 2014 18:09