Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menggunakan Acara Cat untuk Melukis Bentuk Berdasarkan Kedudukan Tetikus dalam C#?
Untuk melukis bentuk pada permukaan Kawalan, anda bergantung pada acara Catnya atau mengatasi kaedah OnPaint bagi Kawalan tersuai/pengguna. Elakkan menyimpan objek Grafiknya, kerana ia menjadi tidak sah apabila Kawalan tidak sah. Gunakan objek Grafik yang disediakan oleh objek PaintEventArgs untuk melukis.
Kod C# yang disediakan cuba melukis segi empat tepat berdasarkan koordinat tetikus tetapi menghadapi masalah disebabkan kaedah DrawRect() yang salah seruan. Untuk membetulkan ini, hantarkan argumen yang diperlukan (e.Graphics, x, y) kepada kaedah DrawRect().
Dalam senario lukisan yang kompleks, pertimbangkan untuk menentukan kaedah yang berbeza untuk dikendalikan tugas lukisan khusus, menghantar objek e.Graphics kepada kaedah ini untuk operasi lukisan.
Coretan kod berikut membentangkan contoh lukisan segi empat tepat semasa tetikus bergerak:
using System; using System.Drawing; using System.Windows.Forms; public partial class Form1 : Form { public void Form1_MouseMove(object sender, MouseEventArgs e) { int x = e.X; int y = e.Y; DrawRect(e.Graphics, x, y); } private void Form1_Paint(object sender, PaintEventArgs e) { } public void DrawRect(Graphics gr, int rey, int rex) { Pen pen = new Pen(Color.Azure, 4); Rectangle rect = new Rectangle(0, 0, rex, rey); gr.DrawRectangle(pen, rect); } }
Untuk keupayaan lukisan tambahan:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Acara Cat untuk Melukis Bentuk Berdasarkan Kedudukan Tetikus dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!