Zum Inhalt springen

[c# .net] Dateien auflisten


Empfohlene Beiträge

Geschrieben

Hallöle,

ich möchte eine c# anwendung schreiben, bei der alle dateien die in einem bestimmtem ordner sind, in einer ListBox aufgelistet werden.

Kann mir da jemand einen tip geben wie ich das am besten machen kann?!

gruß

Horstiii

Geschrieben

Also mein quellcode sieht folgendermaßen aus:

string test = Convert.ToString(Directory.GetFiles("C:/Dokumente und Einstellungen/User/Eigene Dateien/Visual Studio 2008/Projects/backup/source/"));

ListBox1.Items.Add(test);

aber in der listbox steht immer nur "System.String[]" der ordner wird gefunden es ist auch eine datei drinne.

Geschrieben
string path = "C:/Dokumente und Einstellungen/User/Eigene Dateien/Visual Studio 2008/Projects/backup/source/";


foreach(string file in Directory.GetFiles(path))

[INDENT]ListBox1.Items.Add(file); [/INDENT]


  • 2 Wochen später...
Geschrieben (bearbeitet)

Ich habe bereits SelectedValue, SelectedItem und SelectedIndex und nichts von den dreien geht.

Aber früher hab ich mal eins von den dreien probiert und da hat es funktioniert, das is irgendwie komisch.

Bearbeitet von Horstiii
Geschrieben (bearbeitet)

string s = checkedlistbox.Items[checkedlistbox.SelectedIndex].ToString();

Irgendwie so in der Art.

Edit:

"checkedlistbox.Items[checkedlistbox.SelectedIndex].Text" müsste es auch geben.

Bearbeitet von Kati82
Geschrieben

Funktioniert beides nicht, bekomme immer die meldung "Out of range exception" der wert sei wohl negativ.

das müsste doch auch mit ner foreach schleife hinzubekommen sein, z.b. um mehrere werte gleichzeitig aus der checkboxlist auszulesen:

foreach (string liste in checkedlistbox.SelectedItem.ToString())

if (checkedlistbox.ToString() == checked)

{

}

das funktioniert leider auch nicht, kann das jemand so umformen das es geht?

Geschrieben

if (checkedlistbox.ToString() == checked)

Das kann an der Stelle nicht funktionieren, da checkedlistbox.ToString() irgendwas zurückliefert wie "System.Windows.Forms.CheckedListbox". Du vergleichst also einen String mit irgendeiner anderen Eigenschaft (das ist der berühmte Vergleich zwischen Äpfeln und Birnen).

Und außerdem: Wo kommt das checked her?

Ehe ich hier irgendeinen Code liefere, erst mal eine andere Sache. Was möchtest du denn jetzt genau haben. "Selected" ist meines Wissen das Item, was gerade angewählt ist, also die Zeile, die mit so nem blauen Balken hinterlegt ist. Ich vermute jetzt aber einfach mal, dass du alle Dateien bzw. Items herausfinden möchtest, deren CheckBox angekreuzt ist.

Sehe ich das richtig?

Geschrieben

Ja das ist richtig, ich möchte alle angehackten Items auslesen.

Mit der If abfrage in verbindung mit checked, wollte ich überprüfen ob ob ein Item checked, also angehackt ist.

wäre cool wenn du mir helfen könntest :)

Geschrieben

War mir schon klar was du mit dem if wolltest, aber wie gesagt, Äpfel mit Birnen vergleichen geht nicht.

Ich hab da ein schönes Beispiel in der MSDN gefunden. Ich würde mir allerdings vorher eine Liste von Strings anlegen und in der foreach-Schleife das entsprechende Item der Liste hinzufügen.

Das würde dann so aussehen:

List<String> checkedFiles = new List<String>();


foreach(object itemChecked in checkedListBox1.CheckedItems)

{

   checkedFiles.Add(itemChecked.ToString());

}

Somit müsstest du eine Liste mit allen angekreuzten Dateinamen haben, die du dann später durchiterieren kannst.

Konnte das jetzt allerdings nicht nachprüfen. Hoffentlich stimmt auch die Syntax. Hab schon seit Ewigkeiten kein C# mehr gemacht.

Geschrieben

Ich hab leider Null Ahnung von Webanwendungen, aber sowas müsste doch gehen:

foreach( ListItem item in CheckBoxList1.Items )

{

   if( item.checked )

   ...;

}

Ansonsten musst du halt bei Google suchen.

Ich kann dir da leider nicht mehr weiterhelfen.

Geschrieben

soweit hab ich das auch schon geschafft, aber irgendwie will die if abfrage nicht....

if (item.checked) funktioniert leider nicht, es gibt nur item.selected da hab ich dann folgendes raus gemacht....

if (item.selected == true)

{

}

aber item.selected is irgendwie immer false

Geschrieben

Ich habe eine CkeckBoxList die dynamisch mit folgendem Code gefüllt wird:

CheckBoxList1.Items.Clear();

            string path = MapPathSecure("/source/");

            foreach (string file in Directory.GetFiles(path))

                CheckBoxList1.Items.Add(file.Substring(93));
jetzz wollte ich mit:
if (itm.Selected == true)

                {


                    SelectedItems.Add(itm.Value);

                }

überprüfen ob ein Item angehackt wurde oder nicht, nur leider wird mir immer false zurück geliefert.

Wenn ich die CheckBoxList statisch fülle also einen festen wert eintrage, dann wird beim anhacken auch true zurück geliefert.

hat da einer ne idee?

Geschrieben
Wenn ich die CheckBoxList statisch fülle also einen festen wert eintrage, dann wird beim anhacken auch true zurück geliefert.
Kommen da Äxte zum Einsatz, oder warum sprichst du von "Hacken"? ;)

Hast du mit dem Debugger geprüft, dass Selected false ist, oder schließt du das aus dem beobachteten Verhalten des Programms?

Wie ermittelst du itm?

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...