C# Form programmieren

#2703885
Lesenswert?

Hi Leute,

ich muss ein Windows Form Programm schreiben ( denke, dass es ganz 
einfach ist aber habe wieder mal Probleme mit nem Lösungsansatz)

und zwar folgendes.

Ich habe eine Form Klasse und eine zusätzliche Klasse. ( siehe Anhang 
"Diagramm")


Die zusätzlichje Klasse soll Informationen von Pfadnamne Aliasname und 
ob die Datei existiert enthalten.

Mein Form sollte so aussehen ( siehe Anhang "Form").

also im rechten Balken soll der Anwender irgendeine Datei auswählen ( 
klick auf symbol dreieck, dann sollte sich der Explorer öffnen), die 
dann im Balken ausgegeben wird. Zusätlich zu dem Dateinamen soll rechts 
ein Aliasname eingetragen werden, den man halt hardcodiert.
immer beim Ausfhren des Programms soll die vorherige Datei, die 
ausgewählt wurde darauf geprüft werden ob sie existiert. Das wars mehr 
oder weniger.

So nun meine Frage.

Gibt es so ein Steuerelement in Windowsforms mit dem man auf klick eine 
dateiauswählen kann, die dann ausgegeben wird? oder muss man das selber 
programmieren.

Geht es dass exists ,alias und pfadname in der extra klasse sind und 
nicht in der Form Klasse?

Vielen Dank

PS: Ich hoffe ich hab euch nicht verwirrt.
Angehängte Dateien:
#2704038
Lesenswert?

Hi,

und hab noch ne frage (sry)

nehmen wir an ok ich wähle einen pfad mit einem button und speichere den 
Pfadnamen in eine Listbox.

So nun will ich dass der Pfad beim Schließen der Form gespeichert 
bleibt.
Das heißt ich wähle blabla.txt und beende die Form.
nachdem ich die Form wieder öffne soll in der Listbox imme rnoch 
blabla.txt stehen.

Aus dem inernet habe ich folgendes:

Laden des pfades:
string[] listItems = System.IO.File.ReadAllLines(@"items.txt");
listBox1.Items.AddRange(listItems);

Speichern des Pfades
string[] listItems = new string[listBox1.Items.Count];
listBox1.Items.CopyTo(listItems, 0);
System.IO.File.WriteAllLines(@"items.txt", listItems);

dies ist jedoch hardcodiert.

Hat jemand ne andere Lösung.

Vielen Dank

Gruß
Agit
#2704236
Lesenswert?

Das Übergeben kannst du auf verschiedene Weisen machen:
 - Die Form übergibt den Namen als Parameter im Konstruktor deines neuen 
Objekts
 - Deine Form bietet den Pfadnamen als Property an, dein Objekt greift 
dann darauf zu
 - Du hast einen Singleton, der den Pfadnamen bereit hält. Auf diesen 
greift sowohl die Form als auch das Objekt zu
etc.

Für dein zweites Problem gibt es eine schönere Lösung. Deine Anwendung 
kann ohne zusätzlichen Aufwand Daten für dich speichern und automatisch 
wieder laden.
Hier ist das sehr schön beschrieben:

http://www.codeproject.com/Articles/15013/Windows-Forms-User-Settings-in-C

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren