2016-01-29 41 views
-4

我看到了一個視頻 - https://www.youtube.com/watch?v=MsA5c_XIzWc如何在VB .NET動畫控件

基本上,在這個視頻中,我看到了飛入表單控件!

他用VB .NET

誰能解釋用來使控制飛行中的代碼,好嗎?

+2

您前往Google.com並搜索「vb.net animate controls」,然後如果您遇到代碼,請再詢問一次。 – Dayan

+3

'他是如何讓控制飛入?'我會認爲與*** coooodzzz ***。我正在投票結束,因爲我們不在這裏爲你編程***。 – Codexer

+5

我投票結束這個問題作爲題外話,因爲它似乎沒有什麼具體的編程。問我們'你怎麼做'在這裏是不可接受的,因爲我們不願意爲你寫一個程序,而是幫助你解決你可能遇到的一個具體問題。 – Codexer

回答

0

關於如何使控件飛入窗體有一些即興的方法。您可以使用SetBounds()

您可以將控件拖出窗體視圖。之後,你會去座標。如果你想飛「左」和「右」,那麼你可能需要控制的X座標。遍歷它直到達到你想要的確切座標。例如像:

我在形式位置拖動面板控制:(43,76)X爲43Y是76

我的表單大小是300x300,所以在這種情況下,我可以簡單地將控件拖到(301,76),這顯然會將控件從視圖中隱藏起來。

所以,我想讓控件返回到它的原始X值爲43.我要做的是設置一個計時器並將其間隔設置爲1ms,並且每當計時器滴答時,它將使用SetBounds( )方法減少X值,直到它達到43將移動控件。

看看這個代碼:

Public Class Form1 

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
     Timer1.Start() 
    End Sub 

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick 


      'Check if the Panel has the X coordinates less than or equal to 43. 
     If Panel1.Location.X > 43 Then 
      'Use the SetBounds() 
      Panel1.SetBounds(Panel1.Location.X - 1, Panel1.Location.Y, Panel1.Width, Panel1.Height) 
     Else 
      Timer1.Stop() 
     End If 

    End Sub 
End Class 

我移動的控制被稱爲Panel1的。我的表單大小爲300x300,Panel1的初始位置爲(301,76)。我希望控件移動到(43,46)。在這種情況下,每當計時器滴答時,我們將從X座標中減去1,直到達到X:43

你可以自己試驗這個,我只在我的項目中使用它來添加一些分離。但把它當作你自己的,就性能而言,我不知道,但只要該方法不阻止你的程序的處理,它應該沒問題。

+3

請不要喂這些類型的問題,它只會激勵他人繼續這個趨勢。 – Dayan

+0

是的,我非常抱歉,我只是想分享我的想法,但無論如何,我明白你的意思,不要破壞這些問題。我不會再這樣做。謝謝。 – BillyD