revetregrath Geschrieben 15. September 2007 Teilen Geschrieben 15. September 2007 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Cadpax Geschrieben 15. September 2007 Teilen Geschrieben 15. September 2007 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
revetregrath Geschrieben 15. September 2007 Autor Teilen Geschrieben 15. September 2007 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Cadpax Geschrieben 15. September 2007 Teilen Geschrieben 15. September 2007 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
revetregrath Geschrieben 15. September 2007 Autor Teilen Geschrieben 15. September 2007 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.