Zurück   3DCenter Forum > Software-Hilfe Foren > Programmierung
Registrieren Hilfe Community Kalender Heutige Beiträge Suchen Uns unterstützen

Antwort
 
Themen-Optionen Ansicht
Alt 2010-01-15, 01:26:24   #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?
  Mit Zitat antworten Beitrag zum Zitieren auswählen
Alt 2010-01-15, 03:05:34   #2 (im Thread / einzeln)
kloffy
Gold Member
 
Benutzerbild von kloffy
 
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:

Code:
$('#label0, #label1, #label2')
.css('color','red')
.text('test')
.css('display','none')
//usw.

[~]bad loop
Code:
                                                   __   __   _____ __   __   _    _   _ ____
                                                  /  \ /  | / / \//  \ /  | / /  / / /// __/
                                                 / / // / |/ /=  / / // / |/ /_ / /_//_\_ \
                                                /___//_/|_|_/_/|/___//_/|_|___//____//____/

Geändert von kloffy (2010-01-15 um 03:20:32 Uhr)
kloffy ist offline   Mit Zitat antworten Beitrag zum Zitieren auswählen
Alt 2010-01-15, 03:58:42   #3 (im Thread / einzeln)
Tesseract
Moderator
 
Benutzerbild von Tesseract
 
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)
Tesseract ist offline Computer-Informationen von Tesseract anzeigen   Mit Zitat antworten Beitrag zum Zitieren auswählen
Antwort

Lesezeichen
  • Dieses Thema bei Twitter speichern
  • Dieses Thema bei Facebook speichern


Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:07:07 Uhr.


Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.