关于Graphics画图问题

takpod 2016-04-19 09:50:12
我想用picturebox画一条直线(只显示一条),就是从鼠标按下的点画到鼠标松开的点,在没有松开时也一直显示(重要)
但总感觉pictureBox1_MouseUp之后系统又调用了pictureBox1.Invalidate();导致最画不了。
请问怎么画呢?



private void pictureBox1_MouseDown(object sender, MouseEventArgs e)//鼠标按下
{
IsMouseDown = true;
ptDown.X = e.X;//记录当前鼠标点位于ptDown
ptDown.Y = e.Y;
}
private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
{
IsMouseDown = false;//再这画图也不行
}
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)//鼠标移动
{
ptNow.X = e.X;
ptNow.Y = e.Y;//记录当前鼠标点位于ptNow
pictureBox1.Invalidate();//更新画图
}
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
if (IsMouseDown)
{g.DrawLine(p, ptDown, ptNow);}
}
...全文
132 2 打赏 收藏 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Poopaye 2016-04-19
  • 打赏
  • 举报
回复
takpod 2016-04-19
  • 打赏
  • 举报
回复
不好意思!我明白了! 我搞错了!

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧