要在控製表面繪製形狀,您需要依賴在其 Paint 事件上或重寫自訂/使用者控制項的 OnPaint 方法。避免儲存其 Graphics 對象,因為它會在 Control 失效時變得無效。利用 PaintEventArgs 物件提供的 Graphics 物件進行繪圖。
提供的 C# 程式碼嘗試根據滑鼠座標繪製矩形,但由於 DrawRect() 方法不正確而面臨問題呼叫。若要修正這個問題,請將所需的參數(例如 Graphics、x、y)傳遞給 DrawRect() 方法。
在複雜的繪圖場景中,請考慮定義不同的方法來處理專門的繪圖任務,將 e.Graphics 物件傳遞給這些方法進行繪圖操作。
以下程式碼片段展示隨著滑鼠移動繪製矩形的範例:
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); } }
其他繪圖功能:
以上是C#中如何使用Paint事件根據滑鼠位置繪製形狀?的詳細內容。更多資訊請關注PHP中文網其他相關文章!