Calling Form1_Paint method
I want to be able to draw an Ellipse at any point on a pictureBox that I click on. The problem is calling up the method that has the code to draw the ellipse. Thanks for your help in advance.
public partial class Form1 : Form
{
Graphics graphics;
string XStr, YStr;
Pen blackPen = new Pen(Color.Black, 3);
Rectangle rect = new Rectangle(200, 200, 200, 100);
public Form1()
{
InitializeComponent();
pictureBox1.MouseUp += new MouseEventHandler(OnMouseup);
}
public void Form1_Load(object sender, EventArgs e)
{
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
Pen blackPen = new Pen(Color.Black, 3);
Rectangle rect = new Rectangle(200, 200, 200, 100);
e.Graphics.DrawEllipse(blackPen, rect);
}
private void pictureBox1_Click(object sender, EventArgs e)
{
}
public void OnMouseup(object sender,MouseEventArgs e)
{
graphics.DrawEllipse(blackPen, 10, 10, 20, 10);
/*
* XStr = Convert.ToString(e.X);
YStr = Convert.ToString(e.Y);
textBox1.Text = (XStr);
textBox2.Text = (YStr);
*/
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
}
Mahesh ChandPosted Dec 23, 2009, 9:48 AM
Graphics g = this.CreateGraphics();
Now you can use this g anywhere.
Here is a sample:
http://www.c-sharpcorner.com/UploadFile/Nildo%20Soares%20de%20Araujo/RubberBandLinesNShapes10172005044356AM/RubberBandLinesNShapes.aspx
Kirtan PatelPosted Dec 23, 2009, 9:46 AM
Here is Code for it
please check "Do you like this answer" check box if it helps you :)
thanks :)
public partial class Form1 : Form
{
Boolean IsMouseDown = false;
int x;
int y;
int xmousedownpoint;
int ymousedownpoint;
Graphics g;
public Form1()
{
InitializeComponent();
}
private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
xmousedownpoint = e.X;
ymousedownpoint = e.Y;
IsMouseDown = true;
}
private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
{
x = e.X;
y = e.Y;
IsMouseDown = false;
}
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
if (IsMouseDown == true)
{
x = e.X;
y = e.Y;
}
}
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
g = e.Graphics;
Pen p = new Pen(new SolidBrush(Color.Red));
g.DrawEllipse(p, xmousedownpoint, ymousedownpoint, xmousedownpoint - x, ymousedownpoint - y);
pictureBox1.Invalidate();
}