Question

Vous savez qu'il est très facile à mettre en arrière-plan transparent du contrôle placé sur le dessus d'un autre contrôle WinForm en utilisant la méthode des parents en C # comme:

        LabelText.Parent = pictureBox1;

Mais cela ne fonctionne pas dans la programmation Windows Mobile. Je pensais qu'il y d'une autre façon de le faire. entrer image description ici

Je veux mettre l'arrière-plan transparent de l'étiquette, qui est placé sur la picturebox. Dans l'image ci-dessus la couleur de dos de l'étiquette est déjà réglé sur transparent, mais il affiche la couleur blanche instade de transparence.

Était-ce utile?

La solution

Vous pouvez obtenir le genre de transparence que vous recherchez sur la version de bureau de .NET en remplaçant les drapeaux de style Windows pour un contrôle. Vous souhaitez passer outre CreateParams et allumez WS_EX_TRANSPARENT.

C'est cependant pas disponible sur CF. La solution simple consiste à remplacer tout l'événement de peinture du PictureBox et dessiner le texte avec Graphics.DrawText (). Avec l'avantage supplémentaire que c'est un beaucoup moins cher qu'un contrôle Label.

Autres conseils

Les Winforms n'a pas une véritable transparence. Il y a des aides pour la transparence fausse (comme BackgroundImage, etc ...) mais il est pas très puissant.

Regardez Alpha Mobile Controls projet sur CodePlex. Il devrait résoudre votre problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top