Maison >développement back-end >C++ >Comment afficher une étiquette transparente sur une boîte d'image en C #?
Dans la fenêtre C #, lorsque vous essayez d'afficher des étiquettes transparentes sur Pictionbox, l'utilisateur peut rencontrer un fond gris au lieu de l'effet transparent attendu. En effet, Pictionbox n'est pas un contrôle de conteneur.
Solution 1: implémentation du code
Pour résoudre ce problème, veuillez modifier le constructeur de la fenêtre, modifiez le niveau parent de l'étiquette en Pictionbox et re-calculer sa position.
Solution 2: amélioré
<code class="language-csharp">public Form1() { InitializeComponent(); var pos = label1.Parent.PointToScreen(label1.Location); pos = pictureBox1.PointToClient(pos); label1.Parent = pictureBox1; label1.Location = pos; label1.BackColor = Color.Transparent; }</code>
ou, pour résoudre le problème de la conception du problème en créant une classe personnalisée héritée à partir de la classe personnalisée qui hérite du parentControldEsigner.
Explication
<code class="language-csharp">using System.ComponentModel; using System.Windows.Forms; using System.Windows.Forms.Design; // 添加对System.Design的引用 [Designer(typeof(ParentControlDesigner))] class PictureContainer : PictureBox {}</code>Le Pictionbox est défini comme un contrôle de conteneur via la méthode ci-dessus.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!