16,557
社区成员
发帖
与我相关
我的任务
分享
Dim x1 As Double '記錄點1的座標
Dim y1 As Double
Dim x2 As Double '記錄點2的座標
Dim y2 As Double
Dim Counts As Double '循環的次數
Dim i As Integer
Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown
x2 = e.X
y2 = e.Y
If x1 <> x2 Or y1 <> y2 Then
Counts = CInt(Math.Sqrt((x1 - x2) ^ 2 + (y1 - y2) ^ 2))
For i = 1 To Counts Step 1
If x1 < x2 Then
If x1 + i <= x2 Then
Button1.Left = x1 + i
End If
Else
If x1 - i >= x2 Then
Button1.Left = x1 - i
End If
End If
If y1 < y2 Then
If y1 + i <= y2 Then
Button1.Top = y1 + i
End If
Else
If y1 - i >= y2 Then
Button1.Top = y1 - i
End If
End If
Next
x1 = x2
y1 = y2
End If
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
x1 = Button1.Left
y1 = Button1.Top
End Sub
Dim x1 As Double '記錄點1的座標
Dim y1 As Double
Dim x2 As Double '記錄點2的座標
Dim y2 As Double
Dim Counts As Double '循環的次數
Dim i As Integer
Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown
x2 = e.X
y2 = e.Y
If x1 <> x2 And y1 <> y2 Then
Counts = CInt(Math.Sqrt((x1 - x2) ^ 2 + (y1 - y2) ^ 2))
For i = 1 To Counts
If x1 < x2 Then
If x1 + i <= x2 Then
Button1.Left = x1 + i
End If
Else
If x1 - i >= x2 Then
Button1.Left = x1 - i
End If
End If
If y1 < y2 Then
If y1 + i <= y2 Then
Button1.Top = y1 + i
End If
Else
If y1 - i >= y2 Then
Button1.Top = y1 - i
End If
End If
Next
x1 = x2
y1 = y2
End If
End Sub
Public Class Form1
Dim x As Integer
Dim y As Integer
Private Sub Form1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseClick
x = e.X - (Button1.Width \ 2)
y = e.Y - (Button1.Height \ 2)
Timer1.Enabled = True
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Button1.Left = Button1.Left + (x - Button1.Left) \ 5
Button1.Top = Button1.Top + (y - Button1.Top) \ 5
End Sub
End Class
Public Class Form1
'鼠标点击时的坐标
Dim x1 As Integer
Dim y1 As Integer
''鼠标点击时button的坐标
Dim x2 As Integer
Dim y2 As Integer
Private Sub Form1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseClick
x1 = e.X
y1 = e.Y
x2 = Button1.Location.X
y2 = Button1.Location.Y
Timer1.Enabled = True
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Button1.Left = IIf(x1 = Button1.Left, x2, x1)
Button1.Top = IIf(y1 = Button1.Top, y2, y1)
End Sub
End Class
Public Class Form1
'鼠标点击时的坐标
Dim x1 As Integer
Dim y1 As Integer
Private Sub Form1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseClick
x1 = e.X
y1 = e.Y
Timer1.Enabled = True
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Button1.Left += IIf(x1 = Button1.Left, 0, IIf(x1 > Button1.Left, 1, -1))
Button1.Top += IIf(y1 = Button1.Top, 0, IIf(y1 > Button1.Top, 1, -1))
End Sub
End Class
Public Class Form1
'鼠标点击时的坐标
Dim x1 As Integer
Dim y1 As Integer
''鼠标点击时button的坐标
Dim x2 As Integer
Dim y2 As Integer
Private Sub Form1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseClick
x1 = e.X
y1 = e.Y
x2 = Button1.Location.X
y2 = Button1.Location.Y
Timer1.Enabled = True
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If x1 < x2 Then
x2 -= 1
ElseIf x1 > x2 Then
x2 += 1
End If
If y1 < y2 Then
y2 -= 1
ElseIf y1 > y2 Then
y2 += 1
End If
Button1.Left = x2
Button1.Top = y2
If y2 = y1 AndAlso x2 = x1 Then
''到达目标地方,停止工作
Timer1.Enabled = False
End If
End Sub
End Class