jueves, 17 de noviembre de 2011

MouseEvent en C# - Haciendo Dibujos

Utilizamos los los MouseEvent para saber cuando se hace algún click o saber la posición del puntero en algún punto del área de trabajo.  

En esta aplicación se utilizan MouseUp, MouseDown y MouseMove para capturar el desplazamiento del mouse   por el área de trabajo y con la cual se ira dibujando una secuencia de puntos para lograr realizar un dibujo.

Este es el código que utilice :


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;


namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        bool paint = false;
        SolidBrush color;

        public Form1()
        {
            InitializeComponent();
        }
        private void Salir(object sender, EventArgs e)
        {
            this.Close();
        }
        private void Borrar(object sender, EventArgs e)
        {
            Graphics g1 = panel1.CreateGraphics();
            g1.Clear(panel1.BackColor);
        }

        private void panel1_MouseUp(object sender, MouseEventArgs e)
        {
            paint = false;
        }

        private void panel1_MouseDown(object sender, MouseEventArgs e)
        {
            paint = true;
        }

        private void panel1_MouseMove(object sender, MouseEventArgs e)
        {
            if (paint)
            {
                color = new SolidBrush(Color.Black);
                Graphics g = panel1.CreateGraphics();
                g.FillRectangle(color,e.X,e.Y,3,3);
                g.Dispose();
            }
        }
         
    }
}


Aquí les dejo la aplicación para que lo puedan chequear, fue realizado con Visual Estudio 2010: Descargar

1 comentario:

  1. Dario el archivo que descargue del sitio de descargar no corresonde al desarrollo que vos hiciste. en lenguaje c# el lenguaje es otro esta vb.net y no esta el codigo ni el formulario. Saludos

    ResponderEliminar