Hallo zusammen 😃
Ich stehe hier vor einem "Schönheitsproblem". Folgende Situation:
In meiner GUI befinden sich meherer Textboxes mit jeweils einen Button daneben. Nun hat der Benutzer die Möglichkeit einen Ordner entweder direkt in die TextBox einzugeben (also den kompletten Pfad) oder auf den Button zu klicken, welches eine FolderDialog öffnet, in dem er auf diese Weiße einen Ordner auswählen kann.
Nun ist es leider so, dass ich in meiner Form ca. 10 solcher Kombinationen habe. Gibt es nicht die Möglichkeit ein Event für alle Buttons zu definieren, welches nach dem Beenden des FolderDialogs den gewählten Ordner auch in die dazugehörige TextBox schreibt?
Bin über jede Anregung und Tipp dankbar, der mich von der Leitung runter holt, auf der ich gerade sitze 😉
~ rock on ~
Hallo,
Möglichkeit gibt es diverse, zwei sind:
Oder (würde ich eher bevorzugen):
2) Du erstellst ein Control, der eine Textbox und einen Button beinhaltet. Drückt man den Button => Dialog => Datei erscheint in Textbox.
Dann in deinem Form hast du einfach nur 10 dieser Controls.
Danke für die Tipps 😃
Tipp Nummer 2 klingt super! Hab ich da dann auch nur ein Event in meiner Form, das für alle Buttons gültig ist?
~ rock on ~
Ja, du nimmst einen EventHandler über den sender kriegst du dann raus von welchem Steuerelement das Event ausgelöst wurde.
Du kannst alternativ in der Tag-Property deines Buttons eine Referenz auf die dazugehörige Textbox schreiben.
Oder du verwendest ein Dictionary, das einer eindeutigen Button-Property, wie z.B. der Name, eine Textbox zuweist.
mit freundlichen Grüßen,
Tomot
Projekte: www.gesellschaftsspieler-gesucht.de
Hallo,
Danke für die Tipps 😃
Tipp Nummer 2 klingt super! Hab ich da dann auch nur ein Event in meiner Form, das für alle Buttons gültig ist?
In deinen Form hast du dann überhaupt kein Event.
Das alles wird in dem Control realisiert, in deinem Form fügst du dann nur 10 mal dein Textbox-Button-Control hinzu.
Achja als Ergänzung zu:
Statt dies über Namen zu machen, könnte man auch in einem Array/Hashtable/Dictionaryetc. festhalten, welcher Button zu welcher Textbox gehört.
Also in der Form:
Dictionary<Button, Textbox> zuordnung = new Dictionary<Button, Textbox>();
//...
Dann bei der Methode für das Event:
zuordung[Button_der_gedrückt_wurde].Text = Text_aus_der_Datei;
Besten Dank für die Tipps von euch!
Hab mich für die Variante mit dem eigenem User Control entschieden 😃
~ rock on ~