컨트롤 표면에 모양을 그리려면 다음을 사용합니다. Paint 이벤트에 적용하거나 사용자 정의/사용자 컨트롤의 OnPaint 메서드를 재정의합니다. Control이 무효화되면 그래픽 객체가 무효화되므로 저장하지 마세요. 그리기에는 PaintEventArgs 개체에서 제공하는 Graphics 개체를 활용합니다.
제공된 C# 코드는 마우스 좌표를 기반으로 사각형을 그리려고 시도하지만 잘못된 DrawRect() 메서드로 인해 문제가 발생합니다. 기도. 이 문제를 해결하려면 필요한 인수(예: 그래픽, x, y)를 DrawRect() 메서드에 전달하세요.
복잡한 그리기 시나리오에서는 처리할 다양한 메서드를 정의하는 것이 좋습니다. 그리기 작업을 위해 e.Graphics 개체를 이러한 메서드에 전달하는 특수 그리기 작업입니다.
다음 코드 조각은 마우스가 움직일 때 직사각형을 그리는 예를 보여줍니다.
using System; using System.Drawing; using System.Windows.Forms; public partial class Form1 : Form { public 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 gr, int rey, int rex) { Pen pen = new Pen(Color.Azure, 4); Rectangle rect = new Rectangle(0, 0, rex, rey); gr.DrawRectangle(pen, rect); } }
추가 그리기 기능:
위 내용은 C#에서 Paint 이벤트를 사용하여 마우스 위치에 따라 모양을 그리는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!