Hallo zusammen, vllt könnt ihr mir ein Tipp geben und zwar habe ich eine Form mit Button > Start wo auch die Richtung angezeigt wird, wie sich der Punkt bewegen wird.
leider weiß ich es (gerade) nicht wie ich es erstellen kann das der Punkt Zeitgesteuert anhält und danach wieder sich weiter bewegt. Undbei Button Stop wieder zum Stillstand kommt.
vllt habt ihr ja einen Tipp oder Idee
ZUSATZ: Der Punkt bewegt sich Ovalförmig
LG DerLaie
*Topic verschoben*
leider weiß ich es (gerade) nicht wie ich es erstellen kann das der Punkt Zeitgesteuert anhält und danach wieder sich weiter bewegt. Undbei Button Stop wieder zum Stillstand kommt.
vllt habt ihr ja einen Tipp oder Idee
ZUSATZ: Der Punkt bewegt sich Ovalförmig
VB.NET-Quellcode
- [code]
- Public Class FrmMain
- Private Enum MovementStatus
- ToTheRight
- DiagonalToDownRight
- DiagonalToDownLeft
- ToTheLeft
- DiagonalToUpLeft
- DiagonalToUpRight
- End Enum
- Private CurrentMovement As MovementStatus = MovementStatus.ToTheRight
- Private PictureBoxIsMoving As Boolean = False
- Private Sub BtnToggleMovement_Click(sender As Object, e As EventArgs) Handles BtnToggleMovement.Click
- PictureBoxIsMoving = Not PictureBoxIsMoving
- If PictureBoxIsMoving Then
- UpdateMovementLabelText()
- BtnToggleMovement.Text = ";" 'Webdingszeichen Pause ||
- TmrPicBoxMovement.Start()
- Else
- BtnToggleMovement.Text = "4" 'Webdingszeichen Start >
- TmrPicBoxMovement.Stop()
- End If
- End Sub
- Private Sub TmrPicBoxMovement_Tick(sender As Object, e As EventArgs) Handles TmrPicBoxMovement.Tick
- Select Case CurrentMovement
- Case MovementStatus.ToTheRight : PicBox.Left += 2
- Case MovementStatus.DiagonalToDownRight : PicBox.Left += 1 : PicBox.Top += 1
- Case MovementStatus.DiagonalToDownLeft : PicBox.Left -= 1 : PicBox.Top += 1
- Case MovementStatus.ToTheLeft : PicBox.Left -= 2
- Case MovementStatus.DiagonalToUpLeft : PicBox.Left -= 1 : PicBox.Top -= 1
- Case MovementStatus.DiagonalToUpRight : PicBox.Left += 1 : PicBox.Top -= 1
- End Select
- Select Case CurrentMovement
- Case MovementStatus.ToTheRight : If PicBox.Left > 300 Then CurrentMovement = MovementStatus.DiagonalToDownRight : UpdateMovementLabelText()
- Case MovementStatus.DiagonalToDownRight : If PicBox.Left > 350 Then CurrentMovement = MovementStatus.DiagonalToDownLeft : UpdateMovementLabelText()
- Case MovementStatus.DiagonalToDownLeft : If PicBox.Left < 300 Then CurrentMovement = MovementStatus.ToTheLeft : UpdateMovementLabelText()
- Case MovementStatus.ToTheLeft : If PicBox.Left < 100 Then CurrentMovement = MovementStatus.DiagonalToUpLeft : UpdateMovementLabelText()
- Case MovementStatus.DiagonalToUpLeft : If PicBox.Left < 50 Then CurrentMovement = MovementStatus.DiagonalToUpRight : UpdateMovementLabelText()
- Case MovementStatus.DiagonalToUpRight : If PicBox.Left > 100 Then CurrentMovement = MovementStatus.ToTheRight : UpdateMovementLabelText()
- End Select
- End Sub
- Private Sub UpdateMovementLabelText()
- LblCurrentMovementStatus.Text = [Enum].GetName(GetType(MovementStatus), CurrentMovement)
- End Sub
- Private Sub FrmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- End Sub
- End Class
- [/code]
LG DerLaie
*Topic verschoben*
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()