2010-08-10 5 views
2

Ok, donc j'essaie de faire se chevaucher deux imagesbox afin que je puisse les aligner (en fonction de l'entrée de l'utilisateur). Le problème est que je ne suis pas sûr si je peux ajuster l'opacité des contrôles individuels afin que je puisse seulement voir le contrôle le plus haut. Bien sûr, je pourrais faire le traitement d'image et combiner les deux images en une seule image (avec les paramètres de transparence appropriés) mais faire cela à chaque opération d'entrée serait un peu cher donc je me suis dit que ça serait beaucoup moins cher.Modification de l'opacité des contrôles de formulaire individuels dans .NET

Des suggestions? Merci d'avance.

+0

Je suis sûr que vous pouvez faire de la transparence au niveau du contrôle dans WPF mais pas dans WinForms - j'aimerais entendre ce que les autres ont à dire. – Kane

Répondre

0

Comme le dit @Kane, wpf est probablement mieux pour cela. Seul le contrôle Form prend en charge Opacity comme une propriété dans Winforms (see msdn), mais vous pourriez être en mesure de s'en tirer si vous mettez vos images dans des sous-formulaires (je spécule vraiment ici, je n'ai pas essayé cela.) et jouer avec leur opacité.

Bonne chance

1

Ce n'est pas possible WinForms, les effets de transparence ne fonctionnent pas pour les contrôles qui se chevauchent. Le mieux que vous puissiez faire est de superposer des formulaires pour pouvoir utiliser les propriétés Opacity et TransparencyKey.

Une approche beaucoup plus pratique consiste à utiliser un PictureBox dans lequel vous affichez une image composite. Une telle image est facile à créer avec la classe ColorMatrix. Vous trouverez un exemple de code dans ma réponse au this thread.

Questions connexes