首頁 >後端開發 >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()

內事件1_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);

}

完整範例

將這些組件放在一起,完整範例


將這些組件放在一起,您的應用程式的完整程式碼如下所示這個:

使用System;<p>使用System.Drawing;<br>使用System.Windows.Forms;</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);
}
公共分部類Form1 : Form

{

}

透過利用Paint 事件和DrawRect()方法,您可以有效地將形狀繪製到應用程式的表面上基於使用者的滑鼠座標。

以上是如何使用滑鼠座標和 Paint 事件在 C# WinForms 中繪製形狀?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn