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