Hallo liebe Gemeinde!
Ich habe in meiner Anwendung viele verschiedene Steuerelement, deren BackColor z.B. Farbe=Control ist.
(d.h. die vom Benutzer für sein Windows festgelegte Systemfarbe für die Schaltfläche)
Ich erhoffe mir, dass ich alle Steuerelemente deren Hintergrundfarbe 'Control' ist, mit vielleicht nur einer Zeile Code die Farbe verändern kann.
Sonst müsste ich ja für jedes Steuerelementdas so angehen.
myButton1.BackColor = blau;
myButton2.BackColor = blau;
myCheckBox1.BackColor = blau;
usw.
THX & LG
Mighty
die systemfarben gelten (wie der name schon impliziert) systemweit und eine änderung dieser, würde sich in jeder anwendung, die diese benutzt, bemerkbar machen.
mach dir doch eine klasse, die einen satz farben definiert, wo sich deine controls bedienen können. so kannst du dann zentral ändern.
Leite dir doch einfach deine Steuerelemente ab und überschreib die Standardfarben (wenn es denn das ist, was du möchtest).
z.B.
public class MyButton : Button
{
public override Color BackColor
{
get
{
return Color.Blue;
}
}
}
@pogo
Das gefällt mir nicht.
Man kann die Farben beliebig ändern und diese werde auch genutzt, aber es wird nur Color.Blue zurückgegeben.
Aber selbst, wenn es richtig wäre, fände ich eine Helper-Klasse besser.
In Pseudocode etwa so:
// Im Konstruktor
foreach(Control c in this.Controls
AppColors.SetColor(c);
Ev. Kann das auch in einer abgeleiteten Form so stehen.
mfg
SeeQuark
Hallo pogo,
Leite dir doch einfach deine Steuerelemente ab und überschreib die Standardfarben (wenn es denn das ist, was du möchtest).
Das ist in der Tat eine sehr starke Einschränkung eines Controls. Wenn ich ein Standardverhalten haben will Ok, aber wenn ich dann für irgendein Control in einem speziellen Fall dann kein Blau haben will, dann geht das mit Deiner Variante nicht mehr.
Also ich präferiere hier auch JAck30lena's Vorschlag einfach ein Set von Farben zu definieren und sich daraus zu bedienen.
(und ja es ist so aufwändig, so dass man das für jedes Control angeben muss)
Grüße
Norman-Timo
A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”