|
Community Links |
Interessengemeinschaften |
Benutzerliste |
Foren durchsuchen |
Stichwortsuche |
Erweiterte Suche |
Uns unterstützen |
Shoppen bei Amazon |
Spende per Patreon |
Spende per PayPal |
Spende per Steady |
alle Möglichkeiten |
Gehe zu... |
![]() |
|
Themen-Optionen
![]() |
Ansicht
![]() |
![]() |
#1 (im Thread / einzeln) |
Gast
Gast
Beiträge: n/a
|
Mehrere Objekte gleichzeitig ändern.
Hi,
Es ist doch bestimmt möglich mehrere Objeke gleichzeitig zu bestimmen, oder? Zb. Möchte ich label 10-17 rot färben, das ging bisher so: Label10.ForeColor = Color.Red Label11.ForeColor = Color.Red Label12.ForeColor = Color.Red Label13.ForeColor = Color.Red Label14.ForeColor = Color.Red Label15.ForeColor = Color.Red Label17.ForeColor = Color.Red Label16.ForeColor = Color.Red geht das nicht auch kürzer? ala Label(10-17).ForeColor = Color.Red ? Oder kann man generell alle Labels ändern? Das ganze bezieht sich natürlich nicht nur auf Labels sondern auch auf fast alle anderen Objekte. Wie siehts aus wenn ich bspw nur 11 14 und 16 ändern möchte, gibt es etwas wie Label(11,14,16).ForeColor = Color.Red ? Und wie war das nochmal wenn man bspw von einem label mehrere Dinge ändern möchte? Hatte das irgendwie so in Erinnerung: label10 .ForeColor = Color.Red .text = "test" .visible = False Ist das dann auch mit dem obigen kombinierbar? |
![]() ![]() |
![]() |
#2 (im Thread / einzeln) |
Gold Member
Registriert: 2005-03-22
Beiträge: 572
|
Re: Mehrere Objekte gleichzeitig ändern.
Ohne die Sprache zu kennen lässt sich die Frage nur schwer beantworten. Wie wäre es damit alle Labels in eine Datenstruktur zu packen und darüber zu iterieren?
In Javascript mit JQuery z.B. geht es ziemlich genau so wie du es gerne hättest:
[~]bad loop
Geändert von kloffy (2010-01-15 um 03:20:32 Uhr) |
![]() |
![]() ![]() |
![]() |
#3 (im Thread / einzeln) |
Moderator
Registriert: 2003-09-01
Beiträge: 11.154
|
Re: Mehrere Objekte gleichzeitig ändern.
wenn du das wirklich oft und intensiv brauchst kannst du eine klasse schreiben, die z.B. pointer auf die objekte in eine liste speichert und methoden besitzt, die über alle objekte iteriert und entsprechendes erledigt. alternativ könntest du auch statische methoden schreiben, die alle instanzierten objekte ändern. dazu müsstest du die aber innerhalb der klasse auch irgendwie indizieren.
wenn die ganzen zu ändernden variablen hingegen sowieso für alle labels immer den gleichen wert haben sollen sollte man das sowieso anders lösen. z.B. als pointer auf einen gemeinsamen wert oder wieder als statische variable oder sowas in der art. das was du aber scheinbar haben willst gibts zumindest bei den sprachen die ich kenne afaik nicht. ist auch fraglich wie sinnvoll sowas wäre weil das im prinzip precompiler-anweisungen wären an denen man ohnehin eher sparen sollte, vor allem wenn sie auf das eigentliche programmdesign keinen einfluss haben sondern nur etwas copy&paste sparen. für die frage mit mehreren anweisungen gilt das selbe: wenn es für das programmdesign wirklich wichtig ist kannst du z.B. methoden überladen (in c++ auch mit defaultwerten) und dergleichen um damit auch gleich mehrere werte ändern zu können. wenn du genauer schreiben würdest um was es geht könnte man sicher besser helfen. ![]() Geändert von Tesseract (2010-01-15 um 04:15:50 Uhr) |
![]() ![]() |
![]() ![]() |
![]() |
Lesezeichen |
Ansicht |
![]() |
![]() |
![]() |
|
|