C# Inhalte einer checkedListBox in Textdatei übertragen

ZBerryGreen

Cadet 1st Year
Registriert
Nov. 2018
Beiträge
15
Aktuell habe ich folgendes Problem:
Durch einen Button öffnet sich der Explorer in dem man Ordner auswählen kann. Diese werden nach Auswahl in eine checkedListBox eingetragen. Der User kann sich selbst aussuchen welche Ordner ausgewählt werden sollen. Wenn man nun auf den Button "Starten" drückt sollen alle Elemente die ein Häkchen bekommen haben in eine Textdabei abgespeichert werden. Das ganze könnte so aussehen:

Unbenannt.PNG



In der Textdatei soll und muss das ganze wie folgt aussehen:

Unbenannt2.PNG


Das Problem dabei ist nur das er warum auch immer nur einen einzigen Ordnerpfad in die Textdatei einfügt. Er soll aber alle Pfade die markiert worden sind untereinander einfügen.
Hat jemand eine Idee wie ich das umsetzen kann?
 
Hi,

bitte mal deinen Code, den du geschrieben hast, hier posten (CODE Tag verwenden).

VG,
Mad
 
Hier ist ein mal der Code für den Button zum durchsuchen des PC's:

C#:
   private void search_Click(object sender, EventArgs e)
        {

            this.folderBrowserDialog1.ShowNewFolderButton = false;
            this.folderBrowserDialog1.RootFolder =
            System.Environment.SpecialFolder.MyComputer;

            DialogResult result = this.folderBrowserDialog1.ShowDialog();
            if (result == DialogResult.OK)

            {
                string foldername = this.folderBrowserDialog1.SelectedPath;
                foreach (string f in Directory.GetDirectories(foldername))
                    this.checkedListBox1.Items.Add(f);

            }




        }


Und das ist der Code vom dem "Starten" Button.

C#:
 private void start_Click(object sender, EventArgs e)
        {

            if (Directory.Exists(@"C:\test\"))
            {

                if (File.Exists(@"C:\test\sicherungsdatei.ini"))
                {
                    MessageBox.Show("Die Sicherungsdatei existiert bereits!");
                }


                else
                {

                    StreamWriter sw = new StreamWriter(@"C:\test\sicherungsdatei.txt");


                    sw.WriteLine("[zu_sichernde_Elemente]" + checkedListBox1.Text);

                    sw.Close();



                    System.IO.File.Move(@"C:\test\sicherungsdatei.txt", @"C:\test\sicherungsdatei.ini");
                    MessageBox.Show("Sicherungsdatei erfolgreich erstellt!");

                }


            }

}
 
Hi,

lass dir doch mal "checkedListBox1.Text" direkt in der Konsole ausgeben. Sind da wirklich alle in der Selektion drin?

Ich würde eher sowas probieren:

Code:
foreach(object itemChecked in checkedListBox1.CheckedItems)
{
     // mit itemChecked weiter arbeiten
}

VG,
Mad
 
  • Gefällt mir
Reaktionen: Nilson
Schon mal danke für die Antwort. Aber blöde Frage : wo genau soll ich das einfügen?
 
Hi,

egal wo! Lass es dir in der Konsole ausgeben damit du weisst, was da passiert!

Du iterierst damit über die Selektion in deiner Liste und bekommst jedes einzelne Objekt zurück. Darauf dann aufbauen!

VG,
Mad
 
  • Gefällt mir
Reaktionen: TopperHarley87
Alternativ zur Ausgabe der Elemente, kannst du auch einen BreakPoint setzen und dann per MouseOver die einzelnen Objekte der Liste betrachten.
 
Zurück
Oben