Laden...

Alle Labels einer Form abfragen und ändern

Erstellt von Magnolie03 vor einem Jahr Letzter Beitrag vor einem Jahr 253 Views
M
Magnolie03 Themenstarter:in
5 Beiträge seit 2014
vor einem Jahr
Alle Labels einer Form abfragen und ändern

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.

87 Beiträge seit 2016
vor einem Jahr

Hallo,

die Controls-Eigenschaft der Form hilft die nicht weiter?

glandorf

A
764 Beiträge seit 2007
vor einem Jahr

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

4.931 Beiträge seit 2008
vor einem Jahr

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

M
Magnolie03 Themenstarter:in
5 Beiträge seit 2014
vor einem Jahr

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.

M
Magnolie03 Themenstarter:in
5 Beiträge seit 2014
vor einem Jahr

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.