Autor Beitrag
Exabyte
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Fr 26.08.11 19:58 
Hallo zusammen,

ich wollte gerade einen kleinen Windows Explorer Programmieren. Dabei wollte ich eigentlich folgenden Code verwenden:

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Fr 26.08.11 20:07 
user profile iconExabyte hat folgendes geschrieben Zum zitierten Posting springen:
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 Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Sa 27.08.11 11:15 
Absolute Pfadangaben sind auf jeden Fall die bessere Variante, siehe auch Path.Combine.

_________________
>λ=