Entwickler-Ecke

Basistechnologien - Dynamisches Textfeld


UPX - Sa 30.08.14 20:00
Titel: Dynamisches Textfeld
Hallo,

ich möchte gerne einen Textfeld Text weiter geben.
Das funktioniert statisch auch ganz normal mit: "textfeld1.Text;"

Nun möchte ich aber verschiedene Textfelder ansprechen. Ich habe im Programm 10 Textfelder. Warum funktioniert "textfeld[i].Text;" nicht?
Ich bekomme dann immer die Fehlermeldung "The name "textfeld" does not exist in the current context".

Danke und Lg!


Th69 - Sa 30.08.14 20:19

Hallo,

wenn du die Textfelder mittels des Designers im Visual Studio erzeugt hast, dann sind das jeweils eigene Instanzen (Variablen) und kein Array (so daß du nicht per Indexoperator darauf zugreifen kannst).
Hast du denn selber schon mit Arrays (oder List<T>) gearbeitet?
Ich verweise mal auf den Artikel Variablennamen zur Laufzeit zusammensetzen / Dynamisches Erzeugen von Controls [http://www.mycsharp.de/wbb2/thread.php?threadid=21211] (aus dem myCSharp-Forum), da ich es selber auch nicht besser formulieren könnte.
Für dein Problem ist besonders der Absatz "Wie kann man - alle Warnungen im Sinn - die Designer Elemente in ein Array übertragen?" aus dem 2. Beitrag interessant.

Noch besser ist es jedoch die Textfelder gleich dynamisch zu erzeugen und in eine Liste einzutragen. Ich hatte dir für die GroupBox in deinem Thema Mit Button Element erstellen - Anfängerfrage [http://www.entwickler-ecke.de/viewtopic.php?t=113413] ja schon einen ähnlichen Vorschlag gemacht.