Object anhand des Namens finden
-
Friday, February 24, 2012 7:27 AM
Hallo zusammen.
Mit C# habe ich erst seit ca. 2 Wochen zu schaffen, sonst programiere ich mit Delphi.
Ich habe auf meinem Form mehrere Edits (EdM1,EdM2,...) in die der User Einträge macht.
Nun möchte ich den Text der einzelnen Edits anhand eines Zählers auslesen, dazu müsste ich das Edit jedoch durch den Namen des Objects ansprechen.
In Delphi gibt es dafür die findcomponent-Anweisung (TEdit(FindComponent('EdM' + intToString(Zahl))).Text).Gibt es in C# etwas vergleichbares?
Danke schon mal.
Jens
All Replies
-
Friday, February 24, 2012 9:28 AM
Hallo Jens,
wenn deine Form eine Windows Form ist, kannst du deine Edits über die Controls Eigenschaft der Form ansprechen:
int zahl = 1; TextBox edit = (TextBox)Controls["EdM" + zahl];Falls deine Edits in einem Container sind (z. B. in einem Panel), solltest du die Find-Methode der ControlCollection verwenden, da die Controls-Eigenschaft nur die Liste der direkt auf dem Form platzierten Elemente enthält:
Control[] edits = this.Controls.Find("EdM" + zahl, true); if (edits.Length == 1) { TextBox firstEdit = (TextBox)edits[0]; }Peter- Marked As Answer by Jens Jung Friday, February 24, 2012 10:42 AM
-
Friday, February 24, 2012 10:47 AM
Hallo Peter,
das funktioniert super.
Da die TextBoxen (das Edit hab ich mir von Delphi angewöhnt) in einer GroupBox sind, habe ich direkt die zweite Variante gewählt.
Vielen Dank
Jens

