Entwickler-Ecke
WinForms - Frage zur Enumeration FileAttributes
Exabyte - Fr 26.08.11 19:58
Titel: Frage zur Enumeration FileAttributes
Hallo zusammen,
ich wollte gerade einen kleinen Windows Explorer Programmieren. Dabei wollte ich eigentlich folgenden Code verwenden:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7:
| private void lstFiles_DoubleClick(object sender, EventArgs e) { if (File.GetAttributes((string)lstFiles.SelectedItem) == FileAttributes.Directory) { ListeAktualisieren(Directory.GetFileSystemEntries((string)lstFiles.SelectedItem)); } } |
Beim Doppelklicken sollen die Dateien / Verzeichnisse des angeklickten Verzeichnisses in die Liste kopiert werden. Der Code funktioniert so leider nicht, ich habe leider keine Ahnung wieso. Ich weiss, ich könnte ihn im Prinzip auch einfach mit einer Exception realisieren, aber interessieren würde mich das Problem dennoch :D .
Yogu - Fr 26.08.11 20:07
Exabyte hat folgendes geschrieben : |
| Der Code funktioniert so leider nicht, ich habe leider keine Ahnung wieso. |
Das ist normal, das passiert jedem Programmierer mehrmals stündlich. Macht aber gar nichts, dann muss man eben debuggen. :)
Setze einfach mal einen Haltepunkt an die Stelle der
if-Abfrage, und schau, ob der in einen String umgewandelte Pfad stimmt, und wenn ja, schau dir den Rückgabewert von
File.GetAttributes an. Das geht alles sehr einfach mit dem Überwachte-Ausdrücke-Fenster.
Grüße,
Yogu
Exabyte - Fr 26.08.11 22:29
Hallo, ich denke ich könnte das Problem lösen, in dem ich in das entsprechende Verzeichnis mit einer relativen Pfadangabe wechsle. Aber wie geht das genau? Was bedeutet z.B. die Angabe "..\\..\\" oder "..", mir ist nicht ganz klar, wie ich die Punkte bzw. die Backslahses zu interpretieren habe?
Kha - Sa 27.08.11 11:15
Absolute Pfadangaben sind auf jeden Fall die bessere Variante, siehe auch Path.Combine.
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!