Autor Beitrag
Csharp-programmierer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: So 05.04.15 14:45 
Hallo. Ich bin neu in diesem Forum und habe eine Frage:

Ich habe eine richTextBox auf der Form1. Wenn man dort einen Button klickt, erscheint ein neues Fenster (Form2). Auf der Form2 befindet sich eine listBox und ein Button. Wenn man diesen Button klickt soll in die listBox etwas eingetragen werde.

Bis dahin, weiß ich wie alles geht. Um euch zu sagen warum: ich möchte einen HTML- Editor programmieren. Auf der Form3 soll der Benutzer dann den Namen des Scripts und den Script selbst speichern. Nun soll das über einen SaveFileDialog geschehen. Dies ist kein Problem. In der listBox sollen nun ALLE Namen der Scripte stehen. Da neben (auf der Form2) ist eine RichTextBox, die als Vorschau für den Script dient. Nun müssen ja die Items von der listBox mit den entsprechenden Ordnerpfaden der Scripts(über SaveFileDialog) verknüpft werden. Und da ist meine Frag. Und bei dem Programmstart sollen alle Namen der Scripts (für HTML) als Items i der listBox verknüpft werden. Ich hoffe, ihr versteht die Frage. :)

Vielen Dank schon mal im Vorraus :D
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: So 05.04.15 15:58 
Hallo und :welcome:

so ganz verstehe ich deine Frage nicht, aber ich bemühe mich. ;-)

Wenn du einen Ordnerpfad und die Namen von einzelnen Dateien hast, so kannst du mittels der Path-Klasse Pfade zusammensetzen:
ausblenden C#-Quelltext
1:
string fullPath = Path.Combine(path, filename); // bzw. filename + ".html" o.ä.					

Nun kannst du mittels fullPath das Script laden und in der RichTextBox anzeigen.

Ich hoffe, ich habe deine Frage richtig verstanden. Ansonsten zeige am besten etwas von deinem Code.

PS: "Voraus" schreibt man nur mit einem "r".
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: So 05.04.15 19:58 
Vielen Dank für Ihre Antwort. Um meine Frage etwas zu vereinfachen -> ein anderes Beispiel.
Auf der Form1 ist eine listBox, in der alle Name aus der Klasse sind. Nun kommt ein neuer in die Klasse,und dieser muss nun auch in die listBox. Dazu drückt man einen Button auf der Form1 (wo sich auch die listBox befindet). Nun öffnet sich dir Form2, wo man dann Daten über die neue Person hinzufügt. Man hat dort mehrer Felder (z.B. Augenfarbe, Geschlecht...), die man über den SaveFileDialog speichert. Nun muss ja auf der listBox(Form1) der neue Name hinzugefügt werden. Wenn man jetzt auf einen Namen in der listBox klickt, sollen die Daten der Person geöffnet werden. Ich denke, dass kann man mit dem Pfad lösen, in der die Daten der Person über den SaveFileDialog gespeichert wurden. Wenn man das Programm startet, dann sollen alle Namen der Klasse untereinander in der listBox erscheinen.

Meine Idee:
ausblenden C#-Quelltext
1:
2:
public static List<string> allepfade = new List<String>();
public static List<string> name = new List<String>();

Da werden alle Pfade, Namen drin gespeichert. Diese Listen sind in der Form2. Über eine Foreach- Schleife können nun alle Namen auf die listBox übertragen werden.
ausblenden C#-Quelltext
1:
2:
3:
4:
foreach(var s in name)
{
  this.listBox1.Items.Add(s.ToString());
}

Mein Problem ist aber, dass ich nicht weiß, wie man alle Pfade / Namen in der List speichert und sie genau dem dazugehörigen Namen zuordnet und dann noch öffnet.

LG und vielen Dank für ihre Antwort. :D

Moderiert von user profile iconTh69: C#-Tags hinzugefügt
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Mo 06.04.15 10:54 
Hallo,

ich glaube, dich jetzt verstanden zu haben. ;-)
Es geht dir um das Laden und Speichern von Dateien an unterschiedlichen Pfaden.

Ich sehe da zwei Möglichkeiten:
1. Du speicherst die Pfadnamen aller deiner Einzeldateien in eine eigene Textdatei (an einem festen Pfad, z.B Application.StartupPath) - ähnlich wie eine Playlist-Datei bei Mediaprogrammen.
2. Du verzichtest auf den SaveFileDialog und speicherst die Dateien (Skripte) in einem festen Pfad (z.B. ein eigener Unterordner).

PS: In Foren ist es üblich zu "duzen" - ansonsten fühle ich mich schon so alt :lol:

Für diesen Beitrag haben gedankt: Csharp-programmierer