我创建了简单的窗体,现在我想在相对坐标中绘制单个对象(矩形,圆形,线..)。 这里的主要问题是在窗体中间创建二维笛卡尔坐标系。是否有可能以及如何做?创建笛卡尔坐标系c#窗体窗体绘图
主要问题是如何有效地将绝对坐标转换为相对?如何创建我自己的系统,所以我得到的结果数字(负面,积极取决于象限),而不是像素?
。
当前我制作了MouseMove事件以显示Cursor.Position.X
,Cursor.Position.Y
的鼠标当前位置,并将其显示在标签中。显示的坐标是像素,如何改变?我已经阅读了一些关于使用PointToClient
方法进行转换的内容,但我不太了解它。
我被捆绑到windows窗体becouse我已经在win窗体中创建了一个程序,现在我只是想将此功能添加到它。
感谢
您是否尝试过使用变量来抵消当前位置? I.E. var offsetX = control.Width/2; (请记住,你需要确定如何处理奇数大小) – Tebc
,这对我没有任何帮助......我设法创建了面板大小1; 1并将它放在中间,然后我使用了' Point point = panel2.PointToClient(Cursor.Position); label1.Text =“当前坐标:”+ point.ToString();'这是新鲜的,并不是我的问题的清晰解决方案,我想找到更好的解决方案 – dodoria1992
[绘图控制时翻转坐标可能重复]( http://stackoverflow.com/questions/1485745/flip-coordinates-when-drawing-to-control) – TaW