Maison > développement back-end > C++ > Comment faire apparaître une étiquette transparente sur une boîte d'image en C #?

Comment faire apparaître une étiquette transparente sur une boîte d'image en C #?

Susan Sarandon
Libérer: 2025-01-25 16:22:13
original
383 Les gens l'ont consulté

How to Make a Transparent Label Appear Over a PictureBox in C#?

Superposer un contrôle d'étiquette transparent sur PictureBox

En C#, lorsque vous essayez d'afficher un contrôle Label transparent (propriété BackColor définie sur transparent) sur une PictureBox pour surveiller la progression du téléchargement, le Label peut afficher un arrière-plan gris. Afin de résoudre ce problème et d'obtenir l'effet de transparence souhaité, vous pouvez essayer les méthodes suivantes :

Méthode 1 : Ajuster les attributs parent et position

  1. Dans le constructeur de formulaire, définissez la propriété Parent du Label sur PictureBox.
  2. Recalculez l'Emplacement de l'étiquette par rapport à la PictureBox (voir la réponse pour un exemple de code).

Méthode 2 : Personnaliser lors de la conception

  1. Ajoutez une référence à System.Design.
  2. Créez une nouvelle classe appelée PictureContainer, qui hérite de PictureBox.
  3. Décorez le PictureContainer à l'aide de l'attribut [Designer] et passez le ParentControlDesigner en paramètre.

Exemple :

<code class="language-csharp">// 设计时自定义
[Designer(typeof(ParentControlDesigner))]
class PictureContainer : PictureBox {}

// 窗体构造函数
public Form1() {
    // 方法一:设置Parent和Location
    label1.Parent = picturebox1;
    label1.Location = picturebox1.PointToClient(label1.Parent.PointToScreen(label1.Location));
    label1.BackColor = Color.Transparent;
    // 方法二:使用PictureContainer代替Picturebox
    // 此处未显示
}</code>
Copier après la connexion

En adoptant l'une ou l'autre méthode, le contrôle Label sera affiché de manière transparente sur la PictureBox, montrant clairement la progression du téléchargement.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal