Pour dessiner des formes sur la surface d'un contrôle, vous comptez sur son événement Paint ou remplacer la méthode OnPaint d’un contrôle personnalisé/utilisateur. Évitez de stocker son objet Graphics, car il devient invalide lors de l'invalidation du contrôle. Utilisez l'objet Graphics fourni par l'objet PaintEventArgs pour dessiner.
Le code C# fourni tente de dessiner des rectangles en fonction des coordonnées de la souris, mais rencontre des problèmes en raison d'une méthode DrawRect() incorrecte. invocation. Pour remédier à cela, transmettez les arguments requis (e.Graphics, x, y) à la méthode DrawRect().
Dans les scénarios de dessin complexes, envisagez de définir différentes méthodes pour gérer tâches de dessin spécialisées, en passant l'objet e.Graphics à ces méthodes pour les opérations de dessin.
Le code suivant L'extrait présente un exemple de dessin de rectangles lorsque la souris bouge :
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); } }
Pour des capacités de dessin supplémentaires :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!