如何在单击按钮时沿对角线移动图片框 vb 2010

how to move a picture box diagonally on button click vb 2010

我有一个正在进行的项目,我希望图片框在单击按钮时沿对角线移动。我试过使用 PictureBox1.Left = 10PictureBox1.Top = 10 但这使得它向左移动一次并在其余按钮点击时位于顶部。我想要它,所以当我单击按钮时,图片框对角线移动一次而不是分别移动多次。有什么办法可以做到这一点吗?这是我目前的代码

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    PictureBox1.Left -= 10
    PictureBox1.Top = 10
End Sub

根据评论添加

我试过计时器,但它犯了和按钮一样的错误。这是定时器的代码。

Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick 
    PictureBox1.Left -= 10 
    PictureBox1.Top = 10 
End Sub

您可以尝试设置图片框的 Location,而不是单独设置每个轴。像这样。

PictureBox1.Location = New Point(PictureBox1.Left - 10, PictureBox1.Top + 10)

代码中的主要问题是您将 PictureBox 移动到固定的 Y 位置 = 10,并且每次仅将其 x 位置更改为 -10。

因此它不会沿对角线移动,而是跳到 Y=10 并在您每次单击按钮时向左移动。

您需要设置:

PictureBox1.Left -= 10
PictureBox1.Top -= 10 'Here you used PictureBox1.Top = 10

要将其显示为动画,您可以将计时器与 interval = 100 一起使用,并改变左上角 -=1

您可以通过减少间隔和增加移动来提高速度。