首页 >后端开发 >C++ >如何使用鼠标坐标和 Paint 事件在 C# WinForms 中绘制形状?

如何使用鼠标坐标和 Paint 事件在 C# WinForms 中绘制形状?

Linda Hamilton
Linda Hamilton原创
2025-01-02 13:17:38727浏览

How to Draw Shapes in C# WinForms Using Mouse Coordinates and the Paint Event?

利用 Paint 事件根据鼠标坐标绘制形状

创建交互式图形应用程序时,能够绘制形状至关重要基于用户输入。在 C# WinForms 中,Paint 事件提供了一种将内容绘制到应用程序表面上的机制。

集成鼠标坐标

要将鼠标坐标合并到绘制过程中,Form1_MouseMove通常使用事件。在此事件中,可以从 MouseEventArgs 对象中提取 X 和 Y 坐标。这些坐标表示鼠标指针在应用程序窗口中的当前位置。

使用多个参数调用 DrawRect()

您的代码示例有一个 DrawRect() 方法,该方法接受多个参数,包括鼠标坐标和 PaintEventArgs 对象。要从 Form1_MouseMove 事件中调用此方法,您可以按如下所示修改代码:

<br>private void Form1_MouseMove(object sender, MouseEventArgs) e)<br>{<pre class="brush:php;toolbar:false">int x = e.X; 
int y = e.Y;
DrawRect(e.Graphics, x, y); // Use the Graphics object provided by PaintEventArgs

}

Paint Event 和 DrawRect()

内Form1_Paint 事件处理程序中,Graphics 对象由PaintEventArgs 对象提供。此 Graphics 对象用于将形状绘制到应用程序的表面上。

在您的情况下,DrawRect() 方法可以使用提供的 Graphics 对象在指定坐标处绘制矩形:

<br>public void DrawRect(图形 g, int x, int y)<br>{<pre class="brush:php;toolbar:false">Pen pen = new Pen(Color.Azure, 4);
Rectangle rect = new Rectangle(x, y, rex, rey);
g.DrawRectangle(pen, rect);

}

完整示例

将这些组件放在一起,您的应用程序的完整代码如下所示这个:

<br>使用 System;<br>使用 System.Drawing;<br>使用 System.Windows.Forms;<p>公共分部类 Form1 : Form<br>{</p><pre class="brush:php;toolbar:false">private 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 g, int x, int y)
{
    Pen pen = new Pen(Color.Azure, 4);
    Rectangle rect = new Rectangle(x, y, rex, rey);
    g.DrawRectangle(pen, rect);
}

}

通过利用 Paint 事件和 DrawRect() 方法,您可以有效地将形状绘制到应用程序的表面上基于用户的鼠标坐标。

以上是如何使用鼠标坐标和 Paint 事件在 C# WinForms 中绘制形状?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn