Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Melukis Segi Empat pada Koordinat Tetikus Menggunakan Acara C# Paint?

Bagaimana untuk Melukis Segi Empat pada Koordinat Tetikus Menggunakan Acara C# Paint?

DDD
Lepaskan: 2024-12-31 09:17:14
asal
607 orang telah melayarinya

How to Draw Rectangles at Mouse Coordinates Using the C# Paint Event?

Menggunakan Acara Cat untuk Melukis Bentuk pada Koordinat Tetikus

Apabila membangunkan aplikasi GUI, selalunya perlu melukis bentuk pada skrin. Satu cara untuk melakukan ini ialah menggunakan acara Cat, yang dinaikkan apabila sebahagian permukaan kawalan perlu dilukis semula.

Melukis Segi Empat

Dalam contoh kod yang disediakan, matlamatnya adalah untuk melukis segi empat tepat pada koordinat penuding tetikus. Untuk mencapai ini, kaedah DrawRect() digunakan. Kaedah ini mengambil koordinat tetikus dan objek PaintEventArgs sebagai argumen.

Mengubah suai Kod

Untuk memasukkan koordinat tetikus dalam acara Paint, kod tersebut perlu diubah suai sebagai berikut:

  1. Tambah hujah MouseCoordinates ke PaintEvent:

    private void Form1_Paint(object sender, PaintEventArgs e, Point mouseCoordinates)
    {
    
    }
    Salin selepas log masuk
  2. Panggil Fungsi Lukisan:
    Dalam pengendali acara Paint, panggil kaedah DrawRect() dengan koordinat tetikus yang disediakan dan PaintEventArgs objek:

    this.DrawRect(e, mouseCoordinates.X, mouseCoordinates.Y);
    Salin selepas log masuk

Kod Lengkap

Kod lengkap selepas pengubahsuaian:

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;
        Point mouseCoord = new Point(x, y);
    }

    private void Form1_Paint(object sender, PaintEventArgs e, Point mouseCoord)
    {
        this.DrawRect(e, mouseCoord.X, mouseCoord.Y);
    }

    public void DrawRect(PaintEventArgs e, int x, int y)
    {
        Graphics gr = e.Graphics;
        Pen pen = new Pen(Color.Azure, 4);
        Rectangle rect = new Rectangle(0, 0, x, y);
        gr.DrawRectangle(pen, rect);
    }
}
Salin selepas log masuk

Tambahan Pertimbangan

Apabila melukis pada permukaan kawalan, sentiasa gunakan Cat acara atau ganti kaedah OnPaint. Jangan simpan objek Grafik, kerana ia menjadi tidak sah apabila kawalan dicat semula. Sebaliknya, gunakan objek Grafik yang disediakan oleh objek PaintEventArgs.

Sumber tambahan untuk melukis bentuk dalam C# termasuk:

  • [Draw a Rectangle in C#](https://www. tutorialsteacher.com/csharp/csharp-draw-rectangle)
  • [Tutorial Acara Cat dalam C#](https://www.c-sharpcorner.com/uploadfile/deba/paint-event-tutorial-in-csharp)

Atas ialah kandungan terperinci Bagaimana untuk Melukis Segi Empat pada Koordinat Tetikus Menggunakan Acara C# Paint?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan