Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mencipta Kawalan Pekeliling Lutsinar dengan Teks dalam C#?

Bagaimana untuk Mencipta Kawalan Pekeliling Lutsinar dengan Teks dalam C#?

Barbara Streisand
Barbara Streisandasal
2025-01-22 15:42:13310semak imbas

How to Create a Translucent Circular Control with Text in C#?

Kawalan teks bulat lut sinar C#

Artikel ini akan menyelesaikan masalah biasa: cara membuat kawalan bulatan dengan teks dan menerangkan cara mengatasi cabaran seperti ketelusan dan saiz semula.

Soalan

Cabaran awal adalah untuk mencipta bulatan yang sama lebar dengan segi empat sama yang ditulis. Saiz semula bulatan menyebabkan ia bertindih dengan kawalan lain. Selain itu, latar belakang kawalan perlu telus.

Penyelesaian

Kawalan tersuai dengan ketelusan

Untuk mencapai ketelusan, kami mencipta kawalan tersuai yang diperoleh daripada kelas Kawalan. Antara muka mengandungi bulatan berwarna yang boleh memaparkan teks. Kawalan mendedahkan sifat tersuai untuk menetapkan kelegapan, pelapik dalam (jarak antara segi empat tepat dalam dan sempadan kawalan), dan pelapik fon (jarak antara teks dan segi empat tepat dalam).

Untuk menjadikan kawalan telus, kami mengatasi kaedah CreateParams dan menetapkan ExStylenya kepada WS_EX_TRANSPARENT.

Gaya tersuai

Kami menggunakan kaedah Control.SetStyle() untuk mengubah suai tingkah laku kawalan dengan menambah ControlStyles:

  • ControlStyles.Opaque: Menghalang Latar Belakang daripada dilukis, dengan itu mengelakkan pentadbiran sistem.
  • ControlStyles.SupportsTransparentBackColor: Membenarkan kawalan untuk menerima nilai Alpha untuk warna BackGroundnya.

Mengendalikan acara tetikus

Kawalan menyokong acara tetikus untuk menyeret dan mengubah saiz.

Pemprosesan fon

Fon dikodkan keras kepada Segoe UI, yang memudahkan kedudukan teks di tengah-tengah kawasan bulatan. Fon lain mempunyai garis dasar yang berbeza dan memerlukan pemprosesan yang lebih kompleks.

Kod penuh

Kod lengkap kawalan tersuai C# telah disediakan.

Kawalan Aplikasi

Untuk menggunakan kawalan, buat fail kelas baharu, tampal kod yang disediakan ke dalamnya dan bina projek. Kawalan tersuai akan muncul dalam kotak alat. Seret dan lepaskannya ke dalam borang dan laraskan sifat tersuainya mengikut keperluan.

Hasilnya ialah kawalan bulat separa lutsinar dengan teks yang boleh diletakkan dan diubah saiznya tanpa bertindih dengan kawalan lain.

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Kawalan Pekeliling Lutsinar dengan Teks 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