openfiledialog



  • Hi,

    habe gerade mit C# angefangen und besitze auch nur etwas vorkenntnisse im bereich c++.

    ich habe mir eine OpenFileDialog geschrieben, nun möchte ich das alle durch den OpenFileDialog geöffneten Dateien direkt in einer ArrayList gespeichert werden. aber irgendwie will das net so wie ich will.

    also kann mir mal jemand helfen bzw mir einen tipp geben wie das geht.



  • Hallo,

    die ausgewählten Dateinamen befinden sich in "openFileDialog1.FileNames" und sind vom Format string.

    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
      for (int i = 0; i < openFileDialog1.FileNames.Length; i++)
      {
        myArrayList.Add(openFileDialog1.FileNames[i]); // myArrayList musst du vorher mit new ArrayList initialisiert haben
      }
    }
    

    Gruß c



  • Und wenn du dann bei der Initialisierung noch schreibst:

    ArrayList myArrayList = new ArrayList(openFileDialog1.FileNames.Length);
    

    dann ist auch der letzte Optimierer zufrieden! 😃



  • Kann man eigentlich den Array an strings auch irgendwie per AddRange() hinzufügen? Oder komm ich um die for-Schleife nicht rum?



  • Doch, das geht auch.



  • ..und wie?

    AddRange() erwartet ja eine ICollection.

    AddRange(openFileDialog1.FileNames as ICollection)?



  • string[] s = new string[] { "eins", "zwei" };
    ArrayList a = new ArrayList();
    a.AddRange(s);
    

    ... tut ohne probleme. (über gründe dafür hab ich mir keine gedanken gemacht)



  • Moin, danke noch mal für die schnelle hilfe.
    bräuchte aber noch aml einen kleinen denk anstoss. meine arraylist lässt sich nun wunderbar füllen. nur möchte ich ganz gerne den gesamten inhalt der AL an eine listbox übergeben.

    ich kann die listbox zwar füllen, auch mit den richtigen werten nur geschieht das unter umgehung der AL. ich möchte aber erst die AL füllen und dann den Inhalt an die Listbox übergeben.



  • sorry hab es schon 🙂



  • anfänger_1 schrieb:

    Moin, danke noch mal für die schnelle hilfe.
    bräuchte aber noch aml einen kleinen denk anstoss. meine arraylist lässt sich nun wunderbar füllen. nur möchte ich ganz gerne den gesamten inhalt der AL an eine listbox übergeben.

    ich kann die listbox zwar füllen, auch mit den richtigen werten nur geschieht das unter umgehung der AL. ich möchte aber erst die AL füllen und dann den Inhalt an die Listbox übergeben.

    hab das oben genannte problem doch nicht gelöst, jetzt stehen die werte ein mal in der listbox und einmal in der AL. ich möchte aber halt gerne erst alles was ich an dateien geöffnet habe in die AL packen und dann der listbox den inhalt zur verfügung stellen. 😕



  • Erklär das Problem bitte nochmal genauer.



  • also ich öffne mir per openfiledialog zuum beispiel 10 textdateien.
    diese zehn textdateien schreibe ich in meine ArrayList.
    nun möchte ich den Inhalt, sprich die 10textdateien, an eine listbox übergeben.
    ich möchte lediglich den dateinamen, also z.B. test.txt, an meine listbox übergeben, da ich diese per button_click öffnen ,bearbeiten möchte etc.

    hab momentan den code nicht da sonst würde ich den gleich mit posten 🙂

    hoffe das problem ist etwas verständlicher!



  • ArrayList a = new ArrayList();
    a.AddRange(openfiledialog1.filenames);
    listbox1.AddRange(openfiledialog1.filenames);
    

    oder ist es nicht so einfach?



  • Doch, notfalls mit ner Schleife die einzelnen Elemente durchgehen, aber das wird er ja wohl grad noch selber schaffen, wenn nicht: Programmieren an den Nagel hängen 😉 scherz.

    Gruß c


Anmelden zum Antworten