Maison > développement back-end > C++ > Comment dessiner des rectangles aux coordonnées de la souris à l'aide de l'événement Paint C# ?

Comment dessiner des rectangles aux coordonnées de la souris à l'aide de l'événement Paint C# ?

DDD
Libérer: 2024-12-31 09:17:14
original
607 Les gens l'ont consulté

How to Draw Rectangles at Mouse Coordinates Using the C# Paint Event?

Utilisation de l'événement Paint pour dessiner des formes aux coordonnées de la souris

Lors du développement d'applications GUI, il est souvent nécessaire de dessiner des formes sur l'écran. Une façon de procéder consiste à utiliser l'événement Paint, qui est déclenché lorsqu'une partie de la surface du contrôle doit être redessinée.

Dessiner un rectangle

Dans le exemple de code fourni, le but est de dessiner un rectangle aux coordonnées du pointeur de la souris. Pour y parvenir, la méthode DrawRect() est utilisée. Cette méthode prend les coordonnées de la souris et l'objet PaintEventArgs comme arguments.

Modification du code

Pour inclure les coordonnées de la souris dans l'événement Paint, le code doit être modifié comme suit :

  1. Ajoutez l'argument des MouseCoordonnées au PaintEvent :

    private void Form1_Paint(object sender, PaintEventArgs e, Point mouseCoordinates)
    {
    
    }
    Copier après la connexion
  2. Appelez la fonction de dessin:
    Dans le gestionnaire d'événements Paint, appelez la méthode DrawRect() avec les coordonnées de souris fournies et le Objet PaintEventArgs :

    this.DrawRect(e, mouseCoordinates.X, mouseCoordinates.Y);
    Copier après la connexion

Terminé Code

Le code complet après modifications :

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);
    }
}
Copier après la connexion

Considérations supplémentaires

Lorsque vous dessinez sur la surface d'un contrôle, utilisez toujours l'outil Paint événement ou remplacer la méthode OnPaint. Ne stockez pas l’objet Graphics, car il devient invalide lorsque le contrôle est repeint. Utilisez plutôt l'objet Graphics fourni par l'objet PaintEventArgs.

Les ressources supplémentaires pour dessiner des formes en C# incluent :

  • [Dessiner un rectangle en C#](https://www. tutorielsteacher.com/csharp/csharp-draw-rectangle)
  • [Tutoriel d'événement de peinture dans C#](https://www.c-sharpcorner.com/uploadfile/deba/paint-event-tutorial-in-csharp)

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal