我試圖在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