Um Formen auf der Oberfläche eines Steuerelements zu zeichnen, verlassen Sie sich auf sein Paint-Ereignis oder überschreiben Sie die OnPaint-Methode eines benutzerdefinierten/Benutzer-Steuerelements. Vermeiden Sie das Speichern des Grafikobjekts, da es bei der Ungültigmachung des Steuerelements ungültig wird. Verwenden Sie zum Zeichnen das vom PaintEventArgs-Objekt bereitgestellte Graphics-Objekt.
Der bereitgestellte C#-Code versucht, Rechtecke basierend auf Mauskoordinaten zu zeichnen, weist jedoch aufgrund einer falschen DrawRect()-Methode Probleme auf Aufruf. Um dies zu beheben, übergeben Sie die erforderlichen Argumente (z. B. Graphics, x, y) an die DrawRect()-Methode.
In komplexen Zeichenszenarien sollten Sie erwägen, verschiedene zu verarbeitende Methoden zu definieren Spezielle Zeichenaufgaben, bei denen das e.Graphics-Objekt für Zeichenvorgänge an diese Methoden übergeben wird.
Der folgende Codeausschnitt zeigt ein Beispiel für das Zeichnen von Rechtecken, während sich die Maus bewegt:
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); } }
Für zusätzliche Zeichenfunktionen:
Das obige ist der detaillierte Inhalt vonWie kann ich das Paint-Ereignis verwenden, um Formen basierend auf der Mausposition in C# zu zeichnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!