编辑:
所以现在根据ZackRyan的回答确定我的表单位置,但是我仍然无法在它向左滑动后将其移回原始位置。
这是我希望将表单移动到原始位置的代码
Private Sub Label7_Click(sender As Object, e As EventArgs) Handles Label7.Click
Me.Close()
'Testing.StartPosition.CenterScreen
For MoveLeft = Form2.Location.X To 30 Step 1
Form2.Left = MoveLeft
Form2.Refresh()
Threading.Thread.Sleep(0)
Next
End Sub
这是原始位置:
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim xLoc = Me.Location.X
Dim yLoc = Me.Location.Y
Me.Location = New Point(xLoc, yLoc)
End Sub
------------------------------------------ // --- -----------------------------------------------
我正在创建一个Windows应用程序,其中表单平滑地向左移动,一切正常。我的问题是把它带回到它的初始位置。
表单加载时默认位置设置为CenterScreen I然后使用以下内容将其移动到左侧:
Private Sub Label3_Click(sender As Object, e As EventArgs) Handles Label3.Click
For MoveLeft = FormStartPosition.CenterScreen To 18 Step 1
Me.Left -= MoveLeft
Me.Refresh()
Threading.Thread.Sleep(1)
Next
为了让它回去,我尝试了反过来:
Private Sub Label9_Click(sender As Object, e As EventArgs) Handles Label9.Click
For MoveLeft = FormStartPosition.CenterScreen To 18 Step 1
Me.Left = MoveLeft
Me.Refresh()
Threading.Thread.Sleep(1)
Next
这只能部分起作用。表单向右移动是必需的,但如果完全移动到页面底部,则不是从当前位置移动到CenterScreen。
我基本上需要它顺利回到原来的中心屏幕位置。
答案 0 :(得分:1)
只需将表单的位置(表单加载)存储在某些变量中......
E.g。
someObj.someChild.selectAll('circle.some-class').data(newData)
然后按如下方式使用它:
Dim xLoc = MyForm.Location.X
Dim yLoc = MyForm.Location.Y
'Or
Dim xLoc = MyForm.Bounds.Left
Dim yLoc = MyForm.Bounds.Top
'or
Dim loc As Point = MyForm.Location
最后一件事,我真的没有发现你的代码非常有趣,可以在表单中滑动..你可以很容易地使用 MyForm.Location = New Point(xLoc,yLoc)
'or
MyForm.Location = New Point(loc)
:
Timer