Zum Inhalt springen

C# - Mehrere Instanzen über eine FOR Schleife ?


Empfohlene Beiträge

Geschrieben

Hallo Leute,

ich bin grade dabei ein altes VB Projekt aus der Ausbildung in ein C# Programm umzusetzen. Dazu möchte ich wärend der Laufzeit eine Windows - Form kreieren und über eine doppelte Schleife (7x7) 49 Textboxen auf dieser Form erstellen.

Solange ich nur eine Textbox instanziere und diese Instanz für alle 49 Textboxen benutze klappt zumindest der Aufbau des Forms ganz gut. Nur kann ich nun nicht mehr auf die einzelnen Textboxen zugreifen. Ich muss also 49 einzelne Instanzen erstellen und mit jeder dann je eine Textbox.

Momentan benutze ich folgenden Bezeichner:

for(int i = 1; i < 7; i++) {

for(int x = 1; x < 7; x++) {

TextBox t1 = new TextBox();

}

}

Einfach den Bezeichner für die Instanz (t1) mit einer hochzählenden Variablen austauschen funktioniert nicht so einfach. Mittlerweile habe ich aber herausgefunden, dass das Ganze über eine ArrayList funktionieren soll. Jedoch wie konnte ich selbst nach einigen Stunden Probiererei nicht herausfinden. Weiss jemand wie das funktionieren könnte und würde einen Tip inkl. Syntax abgeben ?

Danke Björn

Geschrieben

Sind die 49 festgelegt? Dann würde ich einfach ein Textbox-Array nehmen.

txb[(i*x)] = new TextBox();

oder

txb[x] = new TextBox();

Mit freundlichen Grüßen,

Cadpax

Geschrieben

Das funktioniert leider nicht.

Die Syntax um eine Instanz zu erstellen ist:

Klasse Bezeichner= new Objekt()

Ich bräuchte eine Schleife, die mir

Textbox t1 = new TextBox();

Textbox t2 = new TextBox();

...

Textbox t49 = new TextBox();

erstellt.

Ich habs sogar mit einem String versucht, den ich im Vorfeld eingebaut hatte. Dieser hat den Wert des Strings immer um einen erhöht:

String Bezeichner = "t" + counter;

Nun steht auch immer t1 - t49 in dem String. Wenn ich nun aber den String anstelle des eindeutigen Bezeichners angebe schlägt der compiler Alarm.

Geschrieben

Musst grade selber rumprobieren, selten benutzt und doch wieder geschafft.


ArrayList colTxbList = new ArrayList();
for (int i = 0; i < 49; i++)
{
TextBox txbTmp = new TextBox(); //temporäre Textbox erstellen
colTxbList.Add(txbTmp);
}
foreach (TextBox temp in colTxbList)
{
//temp entspricht der Textbox
}
[/PHP]

Hab der Übersicht zu liebe eine Schleife weg gelassen.

Ich hoffe, das sollte dir helfen.

Die Klasse Arraylist zum Nachlesen. ;)

Mit freundlichen Grüßen,

Cadpax

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...