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.
:
Verschoben durch Admin
Agit A. schrieb: > 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. Nein, aber mit drei Steuerelementen solltest du hinkommen: - Button - Datei-Öffnen-Dialog - Ausgabecontrol (z.B. TextBox)
Hi Boris, ja habe es gerade damit versucht. Über einen Buton rufe ich einen OpenFileDialog. Da kann ich die datei auswähelen, aber wie bekomme ich es hin das der Pfadnamen dann in einer Listbox ausgegeben wird? danke Gruß Agit
Du bekommst den Pfadnamen vom OpenFileDialog (einfach entsprechende Property abfragen). Deine Listbox hat wiederrum die Möglichkeit, Items hinzuzufügen (Items.Add("...)). Und wenn du jetzt 1 und 1 zusammenzählst: Pfadnamen abfragen und in die Item-Collection deiner Listbox einfügen => vola!
Hi Boris, ok das habe ich alles schön und gut hinbekommen danke nochmal. Nun will ich aber dass die Pfadangabe von einer anderen Klasse übergeben wird. Also nicht von der Form1 klasse. Wie kann die andere Klasse dann auf den Pfad zugreifen, wenn es nicht auf die Steuerelemente zugreifen kann? Gruß Agit
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
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.