Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Membuat Kawalan WinForms Telus dalam .NET 3.5?
Menjadikan Kawalan Telus dalam .NET 3.5
Masalah:
Apabila membangunkan imej editor dalam Winforms menggunakan .NET 3.5, kawasan pemilihan segi empat tepat perlu telus. Menetapkan sifat BackColor dan ForeColor kepada Transparent tidak mempunyai kesan.
Penyelesaian:
Walaupun ketelusan disokong dalam .NET 3.5, kawalan dan syarat tertentu mungkin tidak membenarkannya . Untuk menyelesaikan isu ini, kawalan lutsinar tersuai boleh dibuat.
Kawalan Telus Tersuai:
Coretan kod berikut menunjukkan kawalan tersuai yang membenarkan ketelusan:
public class TranspCtrl : Control { public int Opacity { get; set; } protected override void OnPaint(PaintEventArgs e) { // Calculate opacity and set brush color int alpha = (Opacity * 255) / 100; using (Brush bckColor = new SolidBrush(Color.FromArgb(alpha, this.BackColor))) { // Draw background rectangle e.Graphics.FillRectangle(bckColor, new Rectangle(0, 0, this.Width - 1, this.Height - 1)); } } }
Penggunaan:
Buat contoh kawalan tersuai dan tetapkan sifat Opacitynya untuk mencapai ketelusan yang diingini.
TranspCtrl transparentControl = new TranspCtrl(); transparentControl.Opacity = 50;
Isi Utama:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membuat Kawalan WinForms Telus dalam .NET 3.5?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!