Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

C# - Mehrere Instanzen über eine FOR Schleife ?

Empfohlene Antworten

Veröffentlicht

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

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

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.

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

Vielen Dank, habe das Problem gelöst. Allerdings nur über ein Array und nicht mit eine ArrayList. Trotzdem danke für den code-schnipsel. Findet sicherlich anderweitig Verwendung :)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.