dynamische textboxen
-
Hallo,
ich will Textboxen dynamisch erzeugen. Wie heißen denn die Textboxen eigentlich. Heissen die jetzt alle gleich wie in meinem Beispiel also Dieter ?
for (int i = 0; i < 7; i++) { TextBox Dieter= new TextBox(); this.Controls.Add(p); }
Wie man sieht erzeuge ich 7 Textboxen. Alle mit dem Namen Dieter. Oder nicht ?
-
formulier die frage neu und gibt dir verdammt nochmal endlich mehr mühe, wenn du hilfe erwartest.
-
Was mich noch intressiert. Ich versuche die Textboxen wieder zu löschen , aber sie erscheinen trotzdem noch auf meiner Form obwohl ich beim Debuggen eindeutig gesehen habe dass sie gelöscht werden. Stimmt mein code so ?
foreach (Control p in this.Controls) { if (p.GetType().ToString() == "System.Windows.Forms.TextBox") { this.Controls.Remove(p); p.Dispose(); } }
Ich führe sogar einen Refresh aus
-
Zu deinen Fragen:
1. Nein
2. Nein
-
gehts ausführlicher
-
blurry333 schrieb:
gehts ausführlicher
3. Nein
-
blurry333 schrieb:
gehts ausführlicher
Klar kann mir die Frage ausführlicher und besser verständlich stellen
-
Naja, um deine Frage ein bisschen zu beantworten, die heißen nicht alle Dieter. Die Variable heißt Dieter. Was verstehst du unter heißen? Die Eigenschaft Name hast du ja nie gesetzt, brauchst aber auch nicht.
Anstatt
if (p.GetType().ToString() == "System.Windows.Forms.TextBox")
mach
if (p is TextBox)
Und ansonsten schaut das Löschen ja eigentlich fast sinnvoll aus, oder ich steh grad selber auf dem Schlauch
-
Man sollte Items nie aus einer Collection löschen, welche mittels foreach durchlaufen wird (müßte eigentlich auch zu einer InvalidOperationException führen, s.a. http://www.dotnetperls.com/invalidoperationexception ).