Rumah >pembangunan bahagian belakang >C++ >Bagaimana Melukis Bentuk dalam C# WinForms Menggunakan Koordinat Tetikus dan Acara Cat?

Bagaimana Melukis Bentuk dalam C# WinForms Menggunakan Koordinat Tetikus dan Acara Cat?

Linda Hamilton
Linda Hamiltonasal
2025-01-02 13:17:38741semak imbas

How to Draw Shapes in C# WinForms Using Mouse Coordinates and the Paint Event?

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!

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