Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Memaparkan Label Lutsinar Di Atas PictureBox dalam C#?

Bagaimana untuk Memaparkan Label Lutsinar Di Atas PictureBox dalam C#?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-25 16:16:10648semak imbas

How to Display a Transparent Label Over a PictureBox in C#?

Tunjukkan label telus di atas pictionbox dalam tetingkap C#

Dalam tetingkap C#, apabila cuba memaparkan label telus pada PictionBox, pengguna mungkin menghadapi latar belakang kelabu dan bukannya kesan telus yang diharapkan. Ini kerana PictionBox bukan kawalan kontena.

Penyelesaian 1: Pelaksanaan Kod

Untuk menyelesaikan masalah ini, sila ubah suai pembina tetingkap, tukar ibu bapa label ke PictionBox dan menghitung semula kedudukannya.

penyelesaian 2: dipertingkatkan

<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>

atau, untuk menyelesaikan masalah merancang masalah dengan mewujudkan kelas tersuai yang diwarisi dari kelas tersuai yang mewarisi ParentControldesigner.

Penjelasan

<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>
PictionBox ditetapkan sebagai kawalan kontena melalui kaedah di atas.

Atas ialah kandungan terperinci Bagaimana untuk Memaparkan Label Lutsinar Di Atas PictureBox dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn