2009-06-26 6 views
1

J'ai un panneau qui se trouve au-dessus d'un contrôle qui rend la vidéo. J'ai des contrôles (boutons, etc.) sur ce panneau que je veux complètement opaque. Maintenant, créer un fond de panneau transparent est faisable, en remplaçant la propriété CreateParams. Cependant, comment faire un panneau avec un fond semi-transparent (~ 50% d'opacité), tout en gardant les boutons complètement opaques? J'utilise .NET 2.0.Fond de panneau semi-transparent

+0

Quelle structure utilisez-vous? WinForms? –

+0

Oh, .NET 2.0. Duh. Ce serait WinForms. –

Répondre

2

En fin de compte il est apparu que ce n'est pas possible vraiment, la mise en transparence sur un panneau est assez nul dans WinForms.

La solution de contournement que j'ai utilisée était de rendre les contrôles manuellement sur la surface donnée et de modifier les valeurs alpha de manière appropriée.

+0

Alors pouvez-vous nous montrer comment vous l'avez fait? –

1

Vous pouvez utiliser deux panneaux, l'un placé dans l'autre. Le panneau externe n'a pas d'arrière-plan et héberge le panneau interne et les contrôles, et le panneau interne, dont l'index Z le place derrière les contrôles, fournit l'arrière-plan semi-transparent.

Je dois admettre que je suggère ceci sans vérifier réellement que cela fonctionne ...