페인트 이벤트를 활용하여 마우스 좌표를 기반으로 도형 그리기
대화형 그래픽 애플리케이션을 만들 때 도형을 그릴 수 있어야 합니다. 사용자 입력을 기반으로 합니다. 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 개체를 사용하여 지정된 좌표에 직사각형을 그릴 수 있습니다.
public void DrawRect(그래픽 g, int x, int y)
{
Pen pen = new Pen(Color.Azure, 4); Rectangle rect = new Rectangle(x, y, rex, rey); g.DrawRectangle(pen, rect);
}
완전한 예
이러한 구성 요소를 함께 사용하면 애플리케이션의 전체 코드는 다음과 같습니다. 이:
<사전>
system 사용;
System.드로잉 사용;
System.Windows.Forms 사용;
공개 부분 클래스 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() 메서드를 활용하면 애플리케이션 표면에 모양을 효과적으로 그릴 수 있습니다. 사용자의 마우스 좌표를 기준으로 합니다.
위 내용은 마우스 좌표와 Paint 이벤트를 사용하여 C# WinForms에서 도형을 그리는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!