Horstiii Geschrieben 27. Mai 2009 Geschrieben 27. Mai 2009 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 Zitieren
Horstiii Geschrieben 27. Mai 2009 Autor Geschrieben 27. Mai 2009 Okay, das hilft mir weiter, aber wie bekomme ich die sachen jetzz in die ListBox? xD Zitieren
Horstiii Geschrieben 27. Mai 2009 Autor Geschrieben 27. Mai 2009 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. Zitieren
TDM Geschrieben 27. Mai 2009 Geschrieben 27. Mai 2009 GetFiles liefert auch ein Array zurück. Einfach durchiterieren... Zitieren
Horstiii Geschrieben 27. Mai 2009 Autor Geschrieben 27. Mai 2009 mhm, aso. öhm was ist durchiterieren? wie mach ich das? aus string "test" hab ich nu ein array gemacht. Zitieren
TDM Geschrieben 27. Mai 2009 Geschrieben 27. Mai 2009 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] Zitieren
Horstiii Geschrieben 27. Mai 2009 Autor Geschrieben 27. Mai 2009 cool, vielen dank es funktioniert =) Zitieren
Horstiii Geschrieben 5. Juni 2009 Autor Geschrieben 5. Juni 2009 Also ich hab jetzz die Datein in einer CheckBoxList, aber bekomme es nicht hin den Dateinamen mit SelectedItem auszulesen. Kann mir einer helfen? Zitieren
Kati82 Geschrieben 5. Juni 2009 Geschrieben 5. Juni 2009 SelectedItem liefert glaube ich nur einen Index zurück. Vielleicht bringt dich SelectedValue eher weiter. Zitieren
Horstiii Geschrieben 5. Juni 2009 Autor Geschrieben 5. Juni 2009 (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 5. Juni 2009 von Horstiii Zitieren
Kati82 Geschrieben 5. Juni 2009 Geschrieben 5. Juni 2009 (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 5. Juni 2009 von Kati82 Zitieren
Horstiii Geschrieben 5. Juni 2009 Autor Geschrieben 5. Juni 2009 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? Zitieren
Kati82 Geschrieben 5. Juni 2009 Geschrieben 5. Juni 2009 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? Zitieren
Horstiii Geschrieben 5. Juni 2009 Autor Geschrieben 5. Juni 2009 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 Zitieren
Kati82 Geschrieben 5. Juni 2009 Geschrieben 5. Juni 2009 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. Zitieren
Horstiii Geschrieben 5. Juni 2009 Autor Geschrieben 5. Juni 2009 Er findet leider CheckedItems nicht, ich arbeite mit einer webanwendung, nicht mit windows forms. Gibt es ne alternative zu CheckedItems? Zitieren
Kati82 Geschrieben 5. Juni 2009 Geschrieben 5. Juni 2009 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. Zitieren
Horstiii Geschrieben 5. Juni 2009 Autor Geschrieben 5. Juni 2009 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 Zitieren
Horstiii Geschrieben 9. Juni 2009 Autor Geschrieben 9. Juni 2009 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. Zitieren
Horstiii Geschrieben 10. Juni 2009 Autor Geschrieben 10. Juni 2009 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? Zitieren
Klotzkopp Geschrieben 10. Juni 2009 Geschrieben 10. Juni 2009 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? Zitieren
Kati82 Geschrieben 10. Juni 2009 Geschrieben 10. Juni 2009 Schau dir mal das Beispiel an: ASP.NET CheckBoxList selected items Zitieren
Empfohlene Beiträge
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.