我正在尝试使用WinForms创建一个图形编辑器。
我有一个图片框,每当我点击它时,程序通过创建一个大约15 it大小的标签来绘制顶点,其中我存储了一个字符串、位置等等。
我可以通过绘制从一个位置到另一个位置的线条来绘制边缘,但是我需要其他的框来完成这个任务,我想知道是否有一种方法可以完全通过触摸(用鼠标光标)来完成。
我需要某种对象,如果单击该对象,将启动一个事件,该事件将将一个边缘绘制到我单击的下一个顶点。我考虑过添加小图片框而不是标签,但是标签可以方便地存储顶点的名称,我还认为在同一个位置添加标签和其他框可能会隐藏其中一个对象。
发布于 2016-03-29 09:34:12
您可以在用户控件单击事件上获取鼠标的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;
}
}希望这能有所帮助。
https://stackoverflow.com/questions/36280302
复制相似问题