Autor Beitrag
CodeIt
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Sa 03.07.10 23:50 
Hallo,

ich habe da ein kleines Problem.
Bin noch recht neu in c#.

Ich will jetzt ein einfaches Turnierprogramm schreiben, bei dem ich die mannschafften aus einer Textdatei auslese.
Nun will ich die Textboxen beim Form_Load erstellen anhand der Anzahl der Mannschafften und Gruppen in der Textdatei.

Die Textdatei sind dann halt so aus (tabstoppgetrennt)

Gruppe1 Mannschafft1 Mannschafft2 Mannschafft3 Mannschafft4
Gruppe2 Mannschafft5 ...

Ich weiß schon wie ich ne Textbox einfach platziere hab einfach nur probleme mit den namen
wie schaff ich es ein objekt zu erstellen welche den namen "textbox" + x hat
das heißt
textbox1
textbox2
textbox3
.
.
.


hoffe es ist verständlich was fürn problem ich habe
man muss halt immer den namen selber vergeben so wie

Raumschiff tollesRaumschiff = new Raumschiff();
jetzt soll der Name tolles Raumschiff aber automatisch gesetzt werden.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19326
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 04.07.10 00:32 
Hallo und :welcome:

Das hört sich eher so an als wäre eine List<Raumschiff> das Richtige für dich. ;-)

Denn du willst doch vermute ich einfach die erstellten Objekte ansprechen, oder? Und in der Liste kannst du das auch ganz ohne einzelne Namen.
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: So 04.07.10 14:03 
Hallo und ebenfalls :welcome:

user profile iconCodeIt hat folgendes geschrieben Zum zitierten Posting springen:
man muss halt immer den namen selber vergeben so wie

Raumschiff tollesRaumschiff = new Raumschiff();
jetzt soll der Name tolles Raumschiff aber automatisch gesetzt werden.

Das ist ein gravierender Verständnisfehler. "tollesRaumschiff" ist ein Name einer Variablen. Der ist nur für den Compiler relevant, hat aber nichts mit dem Objekt selbst zu tun, und er steht nur innerhalb des Gültigkeitsbereichs zur Verfügung. Der Name eines Objekts ist nur dann von Bedeutung, wenn es eine entsprechende Eigenschaft der Klasse gibt und es Methoden gibt, mit denen diese Eigenschaft ausgewertet werden kann.

Beispiel Control: Jedes Control hat diese Eigenschaft; diese kann z.B. für Controls.Find benutzt werden. Für die Raumschiff-Klasse könntest du so etwas machen:
ausblenden C#-Quelltext
1:
2:
3:
Raumschiff current = new Raumschiff();
current.Name = "Mein erstes Raumschiff";
myListOfRaumschiff.Add(current);

Für die TextBoxen kannst du das so ähnlich machen. Du musst "nur" daran denken, dass die Variable current nur innerhalb der betreffenden Methode gültig ist.

Gruß Jürgen