我正在尝试使用WinForms创建图形编辑器。
我有一个图片框,每当我点击它时,程序通过创建一个大小为15px的标签绘制一个顶点,我存储一个字符串,位置等。
我可以通过从一个位置到另一个位置绘制线来绘制边缘,但是我需要其他方法来执行此操作,我想知道是否有一种方法可以通过触摸(使用鼠标光标)完成此操作。
我需要某种对象,如果单击它将启动一个事件,该事件将绘制一个边缘直到我接下来点击的顶点。我考虑添加小图片框而不是标签,但标签便于存储顶点的名称,我认为在同一位置添加标签和其他框可能会隐藏其中一个对象。
答案 0 :(得分:1)
您可以在用户控制点击事件上获取鼠标的x和y坐标。 我将存储您在鼠标单击事件之外单击的最后一个点的坐标,然后从最后一个点到新点绘制一条线。
lastPoint = null;
private void userControl_MouseClick(object sender, MouseEventArgs e) {
if (e.Button == MouseButtons.Left)
{
Point newPoint = e.Location;
if(lastPoint != null)
{
drawLine(lastPoint, newPoint);
}
lastPoint = newPoint;
}
}
希望这有帮助。