Benutzer mit den meisten Antworten
Object anhand des Namens finden

Frage
-
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
Antworten
-
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- Als Antwort markiert Jens Jung Freitag, 24. Februar 2012 10:42
Alle Antworten
-
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- Als Antwort markiert Jens Jung Freitag, 24. Februar 2012 10:42