Guten Tag. Ich habe folgendes Problem: In meiner Winform befinden sich ca. 200 Labels. Jetzt würde ich gerne alle Labels mit einem bestimmten Label.text ermitteln und dann deren Backcolor-Eigenschaft ändern. Die Labels beginnen alle mit lblS... und aufeinanderfolgenden Zahlen. Ich finde keine funktionierende Möglichkeit, dies in einer Schleife zu realisieren. Wer hat mir da Tipps? Vielen Dank.
Hallo,
die Controls-Eigenschaft der Form hilft die nicht weiter?
glandorf
Hallo Magnolie03
Wie glandorf schon gesagt hast, kommst du über die Controls-Eigenschaft von deinem Form an die Controls.
Ich wollte noch den Hinweis darauf geben, dass du sowas auch über Binding lösen kannst.
Du machst eine eigene Klasse für deine Label-Informationen und legst eine ObservableCollection mit dieser Klasse an. Dann kannst du deine UI daran binden.
Les dir auch mal den Artikel [Artikel] Drei-Schichten-Architektur durch.
Gruß
Alf
Hallo,
hast du wirklich die Labels
im Designer einzeln platziert?
Besser wäre das dynamische Erstellen und Ablegen in einem Array (oder einer List<>
): [FAQ] Variablennamen zur Laufzeit zusammensetzen / Dynamisches Erzeugen von Controls
Hallo. Mit der Controls-Eigenschaft habe ich mich bisher noch nicht beschäftigt. Bin noch neu in C#. Aber die dürfte tatsächlich eine Lösung darstellen. Ich knie mich da mal rein. Vielen Dank für den Tipp.
Hallo Alf. Eigene Klassen zu erstellen und die UI daran zu binden ist für mich noch recht fortgeschritten. Aber an das Thema muss ich auch mal ran. Danke für den Hinweis.
Gruß. Andreas.