Autor Beitrag
Tom01
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Fr 22.07.11 18:30 
Hallo,

ist es irgendwie möglich, viele Labels in einer Schleife zu bearbeiten?

Beispielsweise heißen die Labels lb1,lb2,lb3,...
Und da würd ich zum Beispiel gerne folgende Codezeilen in einer Schleife durchführen:

ausblenden C#-Quelltext
1:
2:
3:
lb1.Text = "a";
lb2.Text = "blabla";
lb3.Text = "bla";


Auf die einfachste und logische Art (wie folgt) ist das ja nicht möglich:

ausblenden C#-Quelltext
1:
2:
3:
4:
for(int i = 0; i < 4; i++)
{
    lb+i.Text = "was auch immer";
}



Vielen Dank im Vorraus!

LG
Tom
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19312
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 22.07.11 18:44 
Es gibt Find, damit solltest du alle Controls finden, die nach einer bestimmten Weise benannt sind:
msdn.microsoft.com/d...collection.find.aspx

Besser wäre allerdings, wenn du es anders löst, z.B. indem du die Steuerelemente vorher in eine Liste packst oder so. Denn wenn du sie über den Namen ansprichst, besteht z.B. immer die Gefahr, dass du bei einer Namensänderung vergisst diese im Code mit anzupassen...
Tom01 Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Fr 22.07.11 18:51 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Es gibt Find, damit solltest du alle Controls finden, die nach einer bestimmten Weise benannt sind:
msdn.microsoft.com/d...collection.find.aspx

Besser wäre allerdings, wenn du es anders löst, z.B. indem du die Steuerelemente vorher in eine Liste packst oder so. Denn wenn du sie über den Namen ansprichst, besteht z.B. immer die Gefahr, dass du bei einer Namensänderung vergisst diese im Code mit anzupassen...


Dank dir, das Problem ist nur, jedem Label wird etwas anderes zugewiesen...

LG
Tom
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19312
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 22.07.11 19:01 
Dann bietet sich ein Dictionary an:
msdn.microsoft.com/d...ibrary/xfhwa508.aspx

Dann kannst du beim Start Konstanten mit dem jeweils zugeordneten Button dort hineinpacken. Ansprechen kannst du die Labels dann auch wieder über die Konstanten. auf diese Weise kann der Compiler die Richtigkeit besser prüfen. Denn so kannst du zwar Konstanten vertauschen, aber keine Tippfehler machen. Denn die kann der Compiler in Strings (den Komponentennamen) ja nicht überprüfen.

Und die ganz saubere Lösung ist natürlich die Trennung der Daten von der Oberfläche, dann stellt sich das Problem gar nicht...