使用 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中文网其他相关文章!