Entwickler-Ecke
WinForms - Teilweise durchsichtige Form (nicht Rahmen oder Elemente)
DiaryOfDreams - Mi 07.04.10 15:11
Titel: Teilweise durchsichtige Form (nicht Rahmen oder Elemente)
Hallo.
Ich möchte eine Form haben deren Hintergrund zu einer bestimmten Prozentzahl durchsichtig ist.
Ich habe bereits herausgefunden das man eine Farbe definieren kann welche dann durchsichtig ist - aber ich will ja nur eine Durchsichtigkeit von x Prozent (x != 100).
Außerdem kann man mit Opacity auch die komplette Form prozentuell durchsichtig machen - ich will aber das der Rahmen und auf der Form befindliche Elemente NICHT durchsichtig werden.
Hat da jemand 'ne Idee zu?
Ich denke fast das es nur gehen wird indem ich 'ne eigene Form erbe und erstelle oder?
DiaryOfDreams - Do 08.04.10 12:24
Hi.
Erstmal Danke für den Tip, aber irgendwie klappt der bei mir nicht.
Ich habe meiner Form einen blauen Hintergrund zugewiesen. Der TransparencyKey steht auf "Silver". Also zeichne ich nun einen Kreis mit "new SolidBrush(Color.Silver)", aber ich sehe anschließend diesen silbernen Kreis - nicht jedoch den Bildschirm dahinter.
EDIT: Habe "new SolidBrush(Color.Silver)" jetzt durch "new SolidBrush(this.TransparencyKey)" ersetzt, was aber auch keine Änderung bringt.
Christoph1972 - Do 08.04.10 18:20
Hi, ich kann dir nicht sagen warum es nicht geht. Ich habe es vor ewigkeiten mal gemacht und es hat funktioniert. Du hast sicher einen Fehler bei der Übersetzung gemacht.
DiaryOfDreams - Fr 09.04.10 08:30
Naja, viel kann man da ja nicht falsch übersetzen. ;-)
Aber da der Tip ja letzten Endes auch nur eine komplette Durchsichtigkeit ermöglicht habe ich das ganze jetzt anders herum gemacht. Also die Hintergrundfarbe auf Transparent und alles was nicht transparent sein soll per paint-Methode nachgezeichnet. Damit habe ich jetzt auch keine Teiltransparenz, aber sowas scheint wohl auch nicht möglich zu sein.
norman2306 - Fr 09.04.10 13:25
Du könntest auch einfach zwei Formen übereinanderklatschen. Deine erste Form gestalltest du ohne Controls. Deine zweite Form machst du als ränderlose Form mit Transparency-Key. Dann setzt du beide auf die gleiche Größe. Mit dem WinAPI-Befehl SetParent kannst du die zweite Form dann in die Erste einbetten.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!