使用 Paint 事件在滑鼠座標處繪製形狀
開發 GUI 應用程式時,經常需要在螢幕上繪製形狀。實現此目的的一種方法是使用 Paint 事件,該事件在需要重繪控製表面的一部分時引發。
繪製矩形
在提供的範例程式碼,目標是在滑鼠指標的座標處繪製一個矩形。為了實現這一點,使用了 DrawRect() 方法。此方法將滑鼠座標和 PaintEventArgs 物件作為參數。
修改程式碼
要在Paint 事件中包含滑鼠座標,需要將程式碼修改為如下:
新增參數MouseCoords 到PaintEvent:
private void Form1_Paint(object sender, PaintEventArgs e, Point mouseCoordinates) { }
呼叫繪圖函數:
在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# Paint 事件在滑鼠座標處繪製矩形?的詳細內容。更多資訊請關注PHP中文網其他相關文章!