C#中如何让鼠标点击的点连成线
C#的WinForm中当鼠标在窗体内单击时获取鼠标单击点的坐标并且鼠标连续点击时能将各个点连接起来并且坐标要变成具有标示意义的小圆圈,要用绘图。谢谢了。能不能在详细点,谢...
C#的WinForm中当鼠标在窗体内单击时获取鼠标单击点的坐标并且鼠标连续点击时能将各个点连接起来并且坐标要变成具有标示意义的小圆圈,要用绘图。谢谢了。
能不能在详细点,谢了 展开
能不能在详细点,谢了 展开
2个回答
展开全部
给你写了个例子,你看一下把。
现写的没有对应什么特殊情况。只是可以用而已。
见一个WinForm工程,把Form的Mouseclick和Paint事件绑定到下面两个函数即可。
List<Point> pList = new List<Point>();
private void Form1_MouseClick(object sender, MouseEventArgs e)
{
pList.Add(e.Location);
this.Refresh();
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
Point nullP = new Point(-1, -1);
Point preP = nullP;
foreach (Point p in pList)
{
e.Graphics.DrawEllipse(Pens.Blue, new Rectangle(p - new Size(2, 2), new Size(4, 4)));
if (preP != nullP)
{
e.Graphics.DrawLine(Pens.Red, preP, p);
}
preP = p;
}
}
现写的没有对应什么特殊情况。只是可以用而已。
见一个WinForm工程,把Form的Mouseclick和Paint事件绑定到下面两个函数即可。
List<Point> pList = new List<Point>();
private void Form1_MouseClick(object sender, MouseEventArgs e)
{
pList.Add(e.Location);
this.Refresh();
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
Point nullP = new Point(-1, -1);
Point preP = nullP;
foreach (Point p in pList)
{
e.Graphics.DrawEllipse(Pens.Blue, new Rectangle(p - new Size(2, 2), new Size(4, 4)));
if (preP != nullP)
{
e.Graphics.DrawLine(Pens.Red, preP, p);
}
preP = p;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询