WinForms Styles/Skins/Themes



  • Abend,

    ich habe eine WinForms Anwendung und würde die jetzt gerne in dunkle Töne einfärben, so in etwa wie hier: http://www.scriptspot.com/files/1/terragen2_ui_thumb.jpg

    Ist so ein "Skinning" mit WinForms möglich? Wenn ja, wie? (wenns geht, sollte so ein Skin kostenlos sein)



  • Ja, das geht schon mit windows forms. Ist son bischen wie sich von hinten ins
    Knie zu schießen. So wie es aussieht bräuchtest du erstmal ne eigene window shape.

    http://www.codeproject.com/KB/cs/customforms.aspx

    Hab ich auch schonmal gemacht, kann man recht gute Ergebnisse erzielen.
    den Kontrols andere Farben geht ja, wenn du das aussehen generell ändern
    willst, viel spaß. bei einfachen Sachen kannst du dir ja Bilder machen
    und die entsprechenden events ran packen.

    Bei codeproject gibts auch genug Anleitungen wie du das aussehen der
    Controls ändern kannst.

    Andere möglich wäre noch wpf in windows forms einzubetten.
    Glaub das war Windows.Forms.Integration und dann ein Elementhost.
    gibts auch ne menge im Netz zu, oder mach halt gleich ne WPF-Anwendung.



  • Du hast meine Frage nicht verstanden -.-

    Mir gehts doch garnicht um beliebige Formen. Ich will nur die FARBEN ändern. Skins/Themes eben. Kennt man doch aus Winamp und Co.



  • Bei dem Bild welches ich gesehen habe
    musst du schon für das Fensters eigene windows Shape machen.

    Wenn du deinen Panels, Buttons etc nur neue farben geben willst,
    unter den eigenschaften findest du doch alles. BackColor, ForeColor
    BackgroundImage etc.

    Oder du machst es über den Code, sowas wie

    button1.BackColor = Color.Bisque;
    panel1.BackColor = Color.Aquamarine;
    

    du kannst dir die Farbwerte auch in einer Datei Speicher und die einlesen
    und zuweisen. Kannst mehrere Dateien machen, default, dark, light was weiß
    ich.

    Mit ein bischen Farben ändern weiß ich nicht, ob du das gewünschte Ziel erreichen wirst.


  • Administrator

    adonis schrieb:

    Mit ein bischen Farben ändern weiß ich nicht, ob du das gewünschte Ziel erreichen wirst.

    Nicht nur das, es ist auch fraglich, ob man überhaupt alle Farben verändern kann. Da können sich plötzlich die in der Form eingestellten Farben mit denen vom Benutzer auf seinem OS eingestellten Farben beissen.

    Möglich ist es sicher, aber ob es wirklich praktikabel ist, ist eine andere Frage. Wenn schon würde ich dafür eher WPF verwenden. Da hat man viel mehr Freiheiten mit dem Einstellen von Farben.

    Grüssli



  • Das ist schon ziemlich anstrengend mit WinForms...

    Ein guter Beispielcode:

    http://dotnetrix.co.uk/form.htm
    (Das vorletzte Beispiel)

    Ich hab das mal so abgeändert, dass das Fenster aussah wie WinAmp.
    Es geht alles 😉


Log in to reply