我一直在学习如何在winforms应用程序中绘制线条,我希望能够选择已经通过左键单击绘制的内容(例如矩形),然后能够移动它用鼠标拖动它到另一个位置。
如何做到这一点?我没有看到任何方法,所以我想我需要弄清楚是否有任何我左键单击表单,如果有,那么以某种方式找出维度它并适当地重新绘制它。它是否正确?我怎么知道反应角的开始位置,结束的位置,它的高度,它有什么颜色,以及它与另一条线,矩形或其他形状重叠的情况呢?
我无法在System.Drawing命名空间中找到类似这样的东西,到目前为止我发现的只是基本的“如何画线”类型的东西。
答案 0 :(得分:2)
您的绘图是位图,而不是矢量图。基本上,它只是很多像素。绘制矩形后,它只是一些像素,但矩形本身(带坐标和大小)不再存在。 您可以做的是保存每个形状的数据(例如在List中)。然后,当您单击图像以选择某些内容时,将以相反的顺序测试列表中的每个对象,直到鼠标坐标在您的形状内。然后,例如,如果要删除形状,则从列表中删除形状,然后清除图像并重新绘制列表中的每个形状。