Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[c# .net] Dateien auflisten

Empfohlene Antworten

Veröffentlicht

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

Okay, das hilft mir weiter, aber wie bekomme ich die sachen jetzz in die ListBox? xD

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.

mhm, aso.

öhm was ist durchiterieren?

wie mach ich das?

aus string "test" hab ich nu ein array gemacht.

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]


cool, vielen dank

es funktioniert =)

  • 2 Wochen später...

Also ich hab jetzz die Datein in einer CheckBoxList, aber bekomme es nicht hin den Dateinamen mit SelectedItem auszulesen.

Kann mir einer helfen?

SelectedItem liefert glaube ich nur einen Index zurück. Vielleicht bringt dich SelectedValue eher weiter.

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

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

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?

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?

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 :)

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.

Er findet leider CheckedItems nicht, ich arbeite mit einer webanwendung, nicht mit windows forms.

Gibt es ne alternative zu CheckedItems?

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.

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

Ich brauche immernoch hilfe wie ich auslese welches Item ausgewählt wurde.

Mehr muss ich garnicht wissen, die Items werden dann in ein Array gepackt.

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?

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?

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.