Disegnare con C#
Pubblicato da nettizzati su 17 Marzo , 2008
In questo post vedremo come creare un semplice form all’inteno del quale è possibile disegnare linee tramite il mouse.Quello che vogliamo ottenere è : mi sposto sul form con il mouse, click tasto sinistro (tengo premuto),
muovo il mouse, disegno la linea con gli spostamenti del mouse, rilascio il tasto, finisco di disegnare.
Sostanzialmente vengono gestiti tre eventi: Form2_MouseDown, Form2_MouseUp e Form2_MouseMove.
Tramite una variabile di stato (isDrawing) che imposto a true nell’evento Form2_MouseDown e
imposto a false nell’evento Form2_MouseUp indico quando disegnare e quando no.
Con due variabili istanza (xCurrent,yCurrent) tengo memoria della posizione corrente del mouse e
altre due (xOld, yOld) di quella precedente.
Nell’evento Form2_MouseMove verifico se è possibile disegnare (isDrawing==true),
in caso affermativo,
-leggo la posizione corrente del mouse e la memorizzo in due variabili istanza (xCurrent,yCurrent),
-se sono nella posizione iniziale (click del mouse), memorizzo la posizione corrente (meno un pixel) nelle variabili (xOld, yOld)
-disegno una linea dalla posizione (xOld, yOld) alla posizione (xCurrent,yCurrent)
-memorizzo la posizione corrente (xCurrent,yCurrent) nelle variabili (xOld, yOld)
Di seguito il codice completo:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;