2010-08-21 23 views
0

J'ai une application de formulaire Windows, et j'ai étendu le cadre de la fenêtre dans la zone client en utilisant DwmExtendFrameIntoClientArea pour obtenir l'effet de verre.Windows Forms Glass Effect, Rendre ImageBox transparent

Maintenant, j'essaie d'afficher une image PNG transparente dans une zone d'image, mais l'arrière-plan apparaît en blanc au lieu de l'effet de verre. Comment puis-je faire apparaître l'image transparente afin que je ne vois que le rectangle gris arrondi et non le fond blanc.

Ma capture d'écran est ci-dessous. Merci.

alt text

alt text

Répondre

3

Ok, c'est une sorte de problème facile à résoudre avec winforms ..... ce que vous devez faire, comme blam dit est mis la clé de la transparence à quelque chose comme: R: 1, G: 2, B: 3 ... ceci rend tout ce qui est dessiné dans cette couleur transparent ... tout ce que vous devez faire est de définir la couleur de fond de votre imagebox sur cette couleur ... et de dessiner le fond de l'image de façon transparente (aussi longtemps que votre image a la transparence)

+0

J'ai fait ma clé de transparence de forme à Black, qui est ce que j'utilise pour obtenir l'effet de verre. Ensuite, je définis également la couleur d'arrière-plan de l'image en noir. Mais ça n'a pas marché. Je suis sûr à 99,9% que mon PNG est transparent. Sur le bureau, il apparaît correctement comme transparent. – ace

+0

J'ai ajouté mon image picturebox à la question, elle est transparente. – ace

+0

c'était le problème, votre image n'était pas transparente ... voici le lien vers l'image transparente, téléchargez-la et essayez d'utiliser cela. http://img831.imageshack.us/img831/8227/xkeyh.png –

0

Faites ce quelle que soit la clé de couleur du verre est: Noir IIRC.

+0

faire ce que noir? définir la clé de transparence de formulaire en noir? J'ai essayé que ça ne marche pas. – ace

+0

Aussi quand je mets la clef de forme de transparence, le formulaire se comporte bizarre ... quand j'essaye de le maximiser ou de le fermer, il perd la focalisation et reste juste là, les boutons ne fonctionnent pas. Je dois alors faire un clic droit sur la barre des tâches et la fermer à partir de là – ace