【发布时间】:2025-12-16 13:55:02
【问题描述】:
所以我创建了一个软件,允许您将控件拖放到其面板中移动它们并将控件拖放到这些控件中并将它们保存到 mysql 数据库中。
问题在于,当您保存布局并重新加载它时,控件中的控件不在完全相同的位置
所以我将控件位置保存到像“110:10”这样的文本中,并将该文本保存到数据库中
Dim ylocation As String = PointToScreen(c.Location).X & ":" & PointToScreen(c.Location).Y
我像这样加载它
Dim esp() As String = Split(.GetString(9), ":")
Dim loc As Point = Me.PointToClient(New Point(CInt(esp(0)), CInt(esp(1))))
【问题讨论】:
-
是否需要转换为屏幕坐标并返回?你可以只存储实际的位置坐标,这有什么不同吗?
-
是的,出于某种原因,我预先创建了一个控件设置并保存它们并使用pointtoclient加载它们,从原始位置到两个坐标与其当前位置的坐标由于某种原因返回一个偏离位置,原始控制位置是 100,100,使用 pointtoclient 它返回 +/-90,+/-90 和位置返回 -24,84