Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Memaparkan Label Lutsinar Di Atas PictureBox dalam 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!