我试图在VB.Net的Windows窗体上动画两个按钮的运动。窗体从主窗体中加载ShowDialog()。我有以下代码:动画按钮运动
Private Sub MoveButtons(sender As Object, e As EventArgs) Handles picLogo.Click
Dim SLoc As Point = btnSearch.Location
Dim CLoc As Point = btnCancel.Location
txtSearch.Enabled = False
txtSearch.Visible = False
btnSearch.Text = "Add"
For idx As Integer = 1 To 36
SLoc.Y -= 1
btnSearch.Location = SLoc
CLoc.Y -= 1
btnCancel.Location = CLoc
Thread.Sleep(5)
Next
End Sub
我最初的代码它使用Top
财产,但结果是一样的。取消按钮按预期向上滑动,但搜索/添加按钮从下往上消失,然后跳到正确的位置。不管我是否更改按钮文本,都会发生这种情况。除了明显的Location
和Text
属性之外,两个按钮是相同的,但取消按钮的DialogResult
设置为DialogResult.Cancel
。
讨厌这样说,但...把'Application.DoEvents()''之前Thread.sleep代码(5)' – djv
不过说真的,没有。看到我的回答 – djv