ペイント イベントを利用してマウス座標に基づいて図形を描画する
インタラクティブなグラフィカル アプリケーションを作成する場合、図形を描画できることが不可欠ですユーザー入力に基づいて。 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;
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); }
}
以上がマウス座標とペイント イベントを使用して C# WinForms で図形を描画する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。