Form in Kreisbewegung "reinblenden"

    • VB.NET

    Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von flo.exe.

      Form in Kreisbewegung "reinblenden"

      Hier mal mein Einblendy:

      VB.NET-Quellcode

      1. Private speed As Integer = 30
      2. Private distance As Integer = 500
      3. Private startDegree As Integer = 90
      4. Private maxDegree As Integer = 180
      5. Private degree As Single = startDegree
      6. Private speedDivide As Integer = 10
      7. Private Sub Timer1_Tick() Handles Timer1.Tick
      8. Dim moveX As Integer = Math.Cos((degree - 90) / 180 * Math.PI) * distance
      9. Dim moveY As Integer = Math.Sin((degree - 90) / 180 * Math.PI) * distance
      10. Dim endSpeed As Single = speed / speedDivide
      11. Me.Location = New Point((My.Computer.Screen.Bounds.Width / 2 + moveX - Me.Width / 2), moveY - Me.Height)
      12. Me.Opacity = (100 / (maxDegree - startDegree) * (degree - startDegree)) / 100
      13. degree += endSpeed
      14. If degree >= maxDegree Then
      15. Timer1.Stop()
      16. Me.Opacity = 1
      17. Me.Location = New Point(My.Computer.Screen.Bounds.Width / 2 - Me.Width / 2, distance - Me.Height)
      18. End If
      19. End Sub
      20. Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
      21. Timer1.start()
      22. Me.Opacity = 0
      23. End Sub


      Ein Timer namens Timer1 mit den Interval von 10 wird benötigt.

      Speed legt logischerweiße die Geschwindigkeit fest, und distance den radius der Kreisbewegung.
      Vllt kanns ja jemand gebrauchen.

      gruß

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Templar“ ()

      Machs so, er hat bei Form_Load das Timer.Start vergessen

      VB.NET-Quellcode

      1. Private speed As Integer = 30
      2. Private distance As Integer = 500
      3. Private startDegree As Integer = 90
      4. Private maxDegree As Integer = 180
      5. Private degree As Single = startDegree
      6. Private speedDivide As Integer = 10
      7. Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
      8. Me.Opacity = 0
      9. Timer1.Start()
      10. End Sub
      11. Private Sub Timer1_Tick() Handles Timer1.Tick
      12. Dim moveX As Integer = CInt(Math.Cos((degree - 90) / 180 * Math.PI) * distance)
      13. Dim moveY As Integer = CInt(Math.Sin((degree - 90) / 180 * Math.PI) * distance)
      14. Dim endSpeed As Single = CSng(speed / speedDivide)
      15. Me.Location = New Point(CInt((My.Computer.Screen.Bounds.Width / 2 + moveX - Me.Width / 2)), moveY - Me.Height)
      16. Me.Opacity = (100 / (maxDegree - startDegree) * (degree - startDegree)) / 100
      17. degree += endSpeed
      18. If degree >= maxDegree Then
      19. Timer1.Stop()
      20. Me.Opacity = 1
      21. Me.Location = New Point(CInt(My.Computer.Screen.Bounds.Width / 2 - Me.Width / 2), distance - Me.Height)
      22. End If
      23. End Sub