Rumah >pembangunan bahagian belakang >C++ >Bagaimana Melukis Bentuk dalam C# WinForms Menggunakan Koordinat Tetikus dan Acara Cat?
Menggunakan Acara Cat untuk Melukis Bentuk Berdasarkan Koordinat Tetikus
Apabila mencipta aplikasi grafik interaktif, adalah penting untuk dapat melukis bentuk berdasarkan input pengguna. Dalam C# WinForms, acara Paint menyediakan mekanisme untuk melukis kandungan pada permukaan aplikasi.
Menyepadukan Koordinat Tetikus
Untuk memasukkan koordinat tetikus ke dalam proses lukisan, Form1_MouseMove acara biasanya digunakan. Dalam acara ini, koordinat X dan Y boleh diekstrak daripada objek MouseEventArgs. Koordinat ini mewakili kedudukan semasa penuding tetikus dalam tetingkap aplikasi.
Memanggil DrawRect() dengan Pelbagai Argumen
Sampel kod anda mempunyai kaedah DrawRect() yang mengambil berbilang argumen, termasuk koordinat tetikus dan objek PaintEventArgs. Untuk memanggil kaedah ini dari dalam acara Form1_MouseMove, anda boleh mengubah suai kod anda seperti berikut:
<br>private void Form1_MouseMove(penghantar objek, MouseEventArgs e)<br>{</p> <pre class="brush:php;toolbar:false">int x = e.X; int y = e.Y; DrawRect(e.Graphics, x, y); // Use the Graphics object provided by PaintEventArgs
}
Acara Cat dan DrawRect()
Dalam Pengendali acara Form1_Paint, objek Grafik disediakan oleh objek PaintEventArgs. Objek Grafik ini digunakan untuk melukis bentuk pada permukaan aplikasi.
Dalam kes anda, kaedah DrawRect() boleh menggunakan objek Grafik yang disediakan untuk melukis segi empat tepat pada koordinat yang ditentukan:
kekosongan awam DrawRect(Grafik g, int x, int y)
{
Pen pen = new Pen(Color.Azure, 4); Rectangle rect = new Rectangle(x, y, rex, rey); g.DrawRectangle(pen, rect);
}
Contoh Lengkap
Menggabungkan komponen ini, kod lengkap untuk aplikasi anda akan kelihatan seperti ini:
menggunakan Sistem;
menggunakan System.Drawing;
menggunakan System.Windows.Forms;
kelas separa awam Tingkatan1 : Borang
{
private 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 g, int x, int y) { Pen pen = new Pen(Color.Azure, 4); Rectangle rect = new Rectangle(x, y, rex, rey); g.DrawRectangle(pen, rect); }
}
Dengan menggunakan acara Paint dan kaedah DrawRect(), anda boleh melukis bentuk dengan berkesan pada permukaan aplikasi berdasarkan koordinat tetikus pengguna.
Atas ialah kandungan terperinci Bagaimana Melukis Bentuk dalam C# WinForms Menggunakan Koordinat Tetikus dan Acara Cat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!