ホームページ >バックエンド開発 >C++ >マウス座標とペイント イベントを使用して C# WinForms で図形を描画する方法

マウス座標とペイント イベントを使用して C# WinForms で図形を描画する方法

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-02 13:17:38741ブラウズ

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

ペイント イベントを利用してマウス座標に基づいて図形を描画する

インタラクティブなグラフィカル アプリケーションを作成する場合、図形を描画できることが不可欠ですユーザー入力に基づいて。 C# WinForms では、Paint イベントは、アプリケーションの表面にコンテンツを描画するためのメカニズムを提供します。

マウス座標の統合

描画プロセスにマウス座標を組み込むには、Form1_MouseMove通常はイベントが使用されます。このイベント内で、X 座標と Y 座標を MouseEventArgs オブジェクトから抽出できます。これらの座標は、アプリケーションのウィンドウ内のマウス ポインターの現在位置を表します。

複数の引数を指定した DrawRect() の呼び出し

コード サンプルには、次の DrawRect() メソッドがあります。は、マウス座標や PaintEventArgs オブジェクトなどの複数の引数を受け取ります。 Form1_MouseMove イベント内からこのメソッドを呼び出すには、コードを次のように変更します。

<br>private void Form1_MouseMove(object sender, MouseEventArgs) e)<br>{</p><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 イベントと DrawRect()

内Form1_Paint イベント ハンドラー、Graphics オブジェクトは PaintEventArgs オブジェクトによって提供されます。この Graphics オブジェクトは、アプリケーションの表面に形状を描画するために使用されます。

この場合、DrawRect() メソッドは、提供された Graphics オブジェクトを使用して、指定された座標に四角形を描画できます。

<br>public void DrawRect(Graphics g, int x, int y)<br>{</p>
<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);

}

完全な例

これらのコンポーネントを組み合わせると、アプリケーションの完全なコードは次のようになりますこれ:



using System;
using System.Drawing;

using System.Windows.Forms;


public 部分クラス Form1 : Form

{
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() メソッドを利用することで、アプリケーションの表面に効果的に図形を描画できます。ユーザーのマウス座標に基づきます。

以上がマウス座標とペイント イベントを使用して C# WinForms で図形を描画する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。