Verwenden des Paint-Events zum Zeichnen von Formen an Mauskoordinaten
Bei der Entwicklung von GUI-Anwendungen ist es oft notwendig, Formen auf dem Bildschirm zu zeichnen. Eine Möglichkeit hierfür ist die Verwendung des Paint-Ereignisses, das ausgelöst wird, wenn ein Teil der Oberfläche des Steuerelements neu gezeichnet werden muss.
Zeichnen eines Rechtecks
Im Ziel des bereitgestellten Beispielcodes ist es, ein Rechteck an den Koordinaten des Mauszeigers zu zeichnen. Um dies zu erreichen, wird die Methode DrawRect() verwendet. Diese Methode verwendet die Mauskoordinaten und das PaintEventArgs-Objekt als Argumente.
Ändern des Codes
Um Mauskoordinaten in das Paint-Ereignis einzubeziehen, muss der Code wie folgt geändert werden folgt:
Fügen Sie das Argument der MouseCoordinates zum hinzu PaintEvent:
private void Form1_Paint(object sender, PaintEventArgs e, Point mouseCoordinates) { }
Zeichnungsfunktion aufrufen:
Rufen Sie im Paint-Ereignishandler die DrawRect()-Methode mit den bereitgestellten Mauskoordinaten und dem auf PaintEventArgs-Objekt:
this.DrawRect(e, mouseCoordinates.X, mouseCoordinates.Y);
Complete Code
Der vollständige Code nach Änderungen:
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; Point mouseCoord = new Point(x, y); } private void Form1_Paint(object sender, PaintEventArgs e, Point mouseCoord) { this.DrawRect(e, mouseCoord.X, mouseCoord.Y); } public void DrawRect(PaintEventArgs e, int x, int y) { Graphics gr = e.Graphics; Pen pen = new Pen(Color.Azure, 4); Rectangle rect = new Rectangle(0, 0, x, y); gr.DrawRectangle(pen, rect); } }
Zusätzliche Überlegungen
Verwenden Sie beim Zeichnen auf der Oberfläche eines Steuerelements immer Paint Ereignis oder überschreiben Sie die OnPaint-Methode. Speichern Sie das Graphics-Objekt nicht, da es ungültig wird, wenn das Steuerelement neu gezeichnet wird. Verwenden Sie stattdessen das vom PaintEventArgs-Objekt bereitgestellte Graphics-Objekt.
Zusätzliche Ressourcen zum Zeichnen von Formen in C# umfassen:
Das obige ist der detaillierte Inhalt vonWie zeichne ich Rechtecke an Mauskoordinaten mithilfe des C#-Paint-Ereignisses?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!