Wie bindet man einen Fensterhintergrund an die Hintergrundfarbe eines Themas?

9

Wie kann ich die Standardhintergrundfarbe des Themas an einen Fensterhintergrund binden?

Ich habe Folgendes versucht:

%Vor%

Aber die Hintergrundfarbe wird schwarz wiedergegeben, und das scheint beim Luna-Thema nicht richtig zu sein. Mit dem Luna-Thema würde ich die beige / bräunliche Farbe erwarten, die oft in Windows XP zu finden ist.

UPDATE: Nachdem Sie Ihre Antworten gelesen haben, spielen Sie mit StyleSnooper < Ich denke, ich bin zu folgendem Schluss gekommen:

Das Fenster verwendet standardmäßig SystemColors.WindowBrush als Hintergrundfarbe. Diese Farbe ist in den meisten Themen, die ich ausprobiert habe, weiß und das ist wahrscheinlich in Ordnung. Ich glaube, dass Weiß auch die Fensterhintergrundfarbe in WinForms ist. Die Standardhintergrundfarbe für Formulare in WinForms ist jedoch nicht Fensterhintergrund, sondern Steuerung. Also, wenn ich diese Farbe möchte, verwende ich SystemColors.ControlBrush , wie von Lucas hervorgehoben.

Irgendwann habe ich versucht, die bräunlich / beige Kontrollfarbe von WinForms unter Windows XP zu erreichen. Dies ist unter Windows Vista wahrscheinlich nicht möglich, da die Kontrollfarbe unter Vista grau ist. Wenn Sie eine WinForms-Anwendung unter Windows Vista ausführen, wird sie nicht als beige / bräunlich, sondern als grau dargestellt. In diesem Fall müssen wir unsere eigenen benutzerdefinierten Stile anwenden, um den "originalen" Windows XP-Look auf Vista zu erreichen.

Danke an alle, die mir geholfen haben, das zu klären!

    
Magnus Lindhe 03.10.2009, 13:18
quelle

2 Antworten

4

Überschreibt das Anwenden eines Themas tatsächlich die Systempinsel, wie ich es erwarten würde? Wenn ja, sollten Sie dies tun können:

%Vor%

Bearbeiten

Laut Mangas Kommentar möchten Sie wahrscheinlich SystemColors.ControlBrush verwenden, um den gewünschten Effekt zu erzielen, da WindowBrush auf den meisten Systemen weiß ist. ControlBrush ist die "off-white" -Farbe, die Sie auf Windows XP sehen.

    
Matt Hamilton 09.10.2009, 22:34
quelle
1

Ich hätte gedacht, dass das Verlassen der Eigenschaft Background auf Ihrem Element Window dies erreichen würde. Der springende Punkt eines Themas ist, dass es die Standarddarstellung von visuellen Elementen wie Window beeinflusst.

BEARBEITEN Sie können sich StyleSnooper anschauen - - Sie können die Standardvorlage für ein Steuerelement anzeigen (z. B. Fenster). Sie sollten in der Lage sein, für jedes Thema festzulegen, an welche Eigenschaft es gebunden ist.

    
Drew Noakes 03.10.2009 14:57
quelle

Tags und Links