While studying C# ,one of my friends had an idea to write a C# program that enables user to make a free drawing shapes using C# graphics
so i have open my compiler ,have a moment of silence and started to code
My idea was to get the point when the user first clicked on the form,then while he is holding down the mouse button & moving i have to get the distance between the first position the mouse was clicked & the current position (width& height argument).
Lest’s start coding,
to get the first moue click position here we got two data members to store the first position,also w have a boolean data member to know if the mouse is still down or not
bool paintThis = false;
int x;
int y;
then in the mouse down event we get these two guys x&y of the first position and set the paintThis to true
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
paintThis = true;
x = e.X;
y = e.Y;
}
then in the mouse up event we set the paintThis to false
private void Form1_MouseUp(object sender, MouseEventArgs e)
{
paintThis = false;
}
here in the mouse move event all the work will be done,we’ll calculate the width & the height of the rectangle we want to draw and start drawing when the mouse is down(actually when paintThis=true
) at the first position the mouse was down (x & y)
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (paintThis)
{
Refresh();
Graphics gf = this.CreateGraphics();
gf.DrawRectangle(new Pen(Color.Black), x,y, e.X-x, e.Y-y);
}
}
hope you have enjoyed