首頁 >後端開發 >C++ >如何使用 C# Paint 事件在滑鼠座標處繪製矩形?

如何使用 C# Paint 事件在滑鼠座標處繪製矩形?

DDD
DDD原創
2024-12-31 09:17:14589瀏覽

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

使用 Paint 事件在滑鼠座標處繪製形狀

開發 GUI 應用程式時,經常需要在螢幕上繪製形狀。實現此目的的一種方法是使用 Paint 事件,該事件在需要重繪控製表面的一部分時引發。

繪製矩形

在提供的範例程式碼,目標是在滑鼠指標的座標處繪製一個矩形。為了實現這一點,使用了 DrawRect() 方法。此方法將滑鼠座標和 PaintEventArgs 物件作為參數。

修改程式碼

要在Paint 事件中包含滑鼠座標,需要將程式碼修改為如下:

  1. 新增參數MouseCoords 到PaintEvent:

    private void Form1_Paint(object sender, PaintEventArgs e, Point mouseCoordinates)
    {
    
    }
  2. 呼叫繪圖函數:
    在Paint 事件處理程序中,使用下列指令呼叫DrawRect() 方法提供的滑鼠座標和PaintEventArgs object:

    this.DrawRect(e, mouseCoordinates.X, mouseCoordinates.Y);

完整程式碼

修改後的完整程式碼:

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);
    }
}

附加註意事項

在控制項的表面,總是使用Paint 事件或重寫 OnPaint 方法。不要儲存 Graphics 對象,因為當控制項被重新繪製時它會變得無效。相反,請使用 PaintEventArgs 物件提供的 Graphics 物件。

用於在 C# 中繪製形狀的其他資源包括:

  • [在 C# 中繪製矩形](https://www. tutorialsteacher.com/csharp/csharp-draw-rectangle)
  • [繪畫事件教學C#](https://www.c-sharpcorner.com/uploadfile/deba/paint-event-tutorial-in-csharp )

以上是如何使用 C# Paint 事件在滑鼠座標處繪製矩形?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn