Rumah >pembangunan bahagian belakang >C++ >Bagaimana saya boleh meletakkan kawalan telus ke atas gambar gambar di C#?

Bagaimana saya boleh meletakkan kawalan telus ke atas gambar gambar di C#?

Susan Sarandon
Susan Sarandonasal
2025-01-25 16:11:08837semak imbas

How Can I Place Transparent Controls Over PictureBoxes in C#?

mencapai ketelusan dengan kawalan ke atas gambar gambar dalam c#

bertindih kawalan telus ke gambar gambar dalam aplikasi C# Windows membentuk aplikasi memerlukan penyelesaian, kerana pereka tidak menyokong secara langsung ini. Inilah cara menyelesaikannya:

Cabaran Reka Bentuk-Masa:

Pereka bentuk tingkap standard menghalang meletakkan kawalan

di dalam gambar gambar. Sekiranya anda mencuba, ibu bapa kawalan akan menjadi bentuk, menghasilkan latar belakang legap di belakang imej gambar gambar.

Kaedah 1: Keibubapaan kawalan programatik

Pendekatan ini secara dinamik mengubah ibu bapa kawalan semasa runtime:

<code class="language-csharp">public Form1() {
    InitializeComponent();
    Point pos = label1.Parent.PointToScreen(label1.Location);
    pos = pictureBox1.PointToClient(pos);
    label1.Parent = pictureBox1;
    label1.Location = pos;
    label1.BackColor = Color.Transparent;
}</code>
Coretan kod ini menggerakkan kawalan

(atau kawalan lain) untuk menjadi anak label1, mengekalkan kedudukannya dan menetapkan latar belakangnya kepada telus. pictureBox1

Kaedah 2: Kawalan Gambar Kustom

Untuk penyelesaian masa reka bentuk yang lebih elegan, buat kawalan gambar gambar tersuai:

<code class="language-csharp">using System.ComponentModel;
using System.Windows.Forms;
using System.Windows.Forms.Design;    // Add System.Design reference

[Designer(typeof(ParentControlDesigner))]
public class PictureContainer : PictureBox { }</code>
Kelas

adat ini, menggunakan PictureContainer, membolehkan anda menambah kawalan terus ke dalamnya dalam pereka, memelihara ketelusan. Dalam pereka, tukar jenis gambar gambar anda ke ParentControlDesigner. PictureContainer

Pilih kaedah yang paling sesuai dengan keperluan anda. Kaedah 2 menyediakan pengalaman masa reka bentuk yang bersih, sementara Kaedah 1 menawarkan penyelesaian yang lebih mudah untuk projek yang lebih kecil. Ingatlah untuk menetapkan harta

kawalan yang bertindih kepada BackColor untuk ketelusan yang benar. Color.Transparent

Atas ialah kandungan terperinci Bagaimana saya boleh meletakkan kawalan telus ke atas gambar gambar di 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