我想实现的是在picturebox1中,鼠标点击的时候画出小圆点,鼠标抬起之后该点还在,
我的代码是鼠标点击的一瞬即显示出小点,可是一旦鼠标抬起,点又不见了,这个要怎么解决呢?
还有加入我每画5个点之后这五个点都消失,这个怎么实现呢?
private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
Graphics g = ((PictureBox)sender).CreateGraphics();
g.FillEllipse(Brushes.Black, currentPoint.X, currentPoint.Y, 4, 4);
g.Dispose();
}
我的代码是鼠标点击的一瞬即显示出小点,可是一旦鼠标抬起,点又不见了,这个要怎么解决呢?
还有加入我每画5个点之后这五个点都消失,这个怎么实现呢?
private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
Graphics g = ((PictureBox)sender).CreateGraphics();
g.FillEllipse(Brushes.Black, currentPoint.X, currentPoint.Y, 4, 4);
g.Dispose();
}
g.FillEllipse(Brushes.Black, currentPoint.X, currentPoint.Y, 4, 4);把X,Y 换成 e.X,e.Y试试
+1
给它加点颜料(*^__^*)
{
m_lsPoints = new List<Point>();
}
// 处理鼠标点击事件
private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
Graphics g = ((PictureBox)sender).CreateGraphics();
g.FillEllipse(Brushes.Black, e.X, e.Y, 4, 4);
Point pt = new Point(e.X, e.Y);
m_lsPoints.Add(pt);
g.Dispose();
}
// 处理Paint事件
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{ Graphics g = e.Graphics;
foreach( Point pt in m_lsPoints )
{
g.FillEllipse(Brushes.Black, pt.X, pt.Y, 4, 4);
}
p.Dispose();
}