Entwickler-Ecke
WinForms - Windows Forms erstellen mit verschiedene Methoden Namen
Gary 0n T0ur - Mo 02.07.12 16:01
Titel: Windows Forms erstellen mit verschiedene Methoden Namen
Hallo @all
ich hab ein Problem mit einem Projekt, vielleicht könnt ihr mir dabei helfen.
Problem: und zwar will ich im Code beim Klicken auf ein item in einer ItemList ein neues Fenster starten. Das Fenster hab ich bereits erstellt und heißt Form2. Wenn man jetzt auf ein Item klickt wird der Wert von item ausgelesen (soweit habe ich alles), danach will ich ein neues Fenster öffnen (Form2) mit dem Methoden Namen des ausgelesenen wertes vom Item auf dem geklickt worden ist.
Soll ca. so aussehen (bespiel Code funktioniert nicht :D ist auch klar): Form ausgelesene_wert = new Form2; ausgelesener_wert.Show();
Der Zweck warum ich die Methoden den Namen des ausgelesenen wertes geben will ist. Das ich später z.B. Text in einer TextBox in der bestimmten Form ändern kann.
z.B. so: ausgelesener_wert.Textbox1.text = "Test";
Falls Ihr eine Lösung habt, oder irgendeine andere Lösung wie man es machen könnte bin ich sehr Dankbar!
MfG GaRy
Palladin007 - Mo 02.07.12 16:37
Meintest du nicht Wert von Item?
Von welcher Methode soll der Name denn sonst sein? Oder gibt es für jeden Wert eine extra Methode, die entsprechend ausgeführt wird?
Nun, ist ja eigentlich auch egal, denn soweit ich weiß, ist das nicht möglich.
Wenn du aber unbedingt eine Form an einen bestimmten Namen knüpfen willst, kannst du doch ein Dictionary<string, Form> global in der Klasse fest legen.
Dort fügst du dann den Namen der Form, den sie haben soll, als Key ein und Value ist dann die Form, die so heißen soll.
Über den Indexer kannst du dann ganz einfach darauf zugreifen, also z.B. so:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| public partial class Form1 : Form { private Dictionary<string, Form> Fenster = new Dictionary<string, Form>();
public Form1() { InitializeComponent(); }
private void Item_Click(object sender, EventArgs e) { switch ((string)((ComboBox)sender).SelectedItem) { case "MethodenName": Fenster.Add("Methode_MethdenName", new Form2()); Fenster["Methode_MethdenName"].ShowDialog(); break; default: break; } }
private void ChangeText(string Item,string newText) { Fenster["Methode_MethdenName"].Text = newText; }
private void MethodenName() { } } |
Gary 0n T0ur - Mo 02.07.12 20:53
Yess, funktioniert perfekt, Danke das war genau das was ich gesucht habe! :D
Vielen Dank!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!