Label hochzählen in C#?

1 Antwort

Der elegante Weg wäre zunächst einmal der Einsatz einer ListView, eines DataGridView o.ä. Komponenten, hinter die man lediglich ein Model (bspw. eine Liste) hinterzuklemmen braucht. Über ein Binding aktualisieren sich diese Elemente dann auch automatisch, sobald sich das Model ändert.

Um es mit Labels zu lösen..

a) Erzeuge die Labels, sobald sie benötigt werden (bei dir im Klick-Event-Handler) und hänge sie dynamisch an die grafische Oberfläche. Zusätzlich könntest du jedes neu erzeugte Label in einer Liste speichern, um später auf alle schnell und einfach wieder zugreifen zu können.

b) Setze dir eine bestimmte Anzahl an Labels schon auf der Form vor und benenne sie entsprechend (Label1, Label2, ...). Speichere sie zu Programmstart (bzw. wenn die Form erstellt wird) in einem Array und greife so dann auf sie zu.

Wenn alle Labels gefüllt sind und ein neuer Wert hinzugefügt werden soll, würde ich alle Werte aus den Feldern holen, in einer externen Datenquelle (die du ja eh für deinen Trainer verwenden musst) zwischenspeichern und dann die Elemente leeren. Baue dir am besten eine Pagination dazu.