想学学算法的渣渣 2015-11-24 15:55 采纳率: 0%
浏览 1753

VB.net中在窗体设置一个标签,让他沿窗体八字形滚动,如何让他一接触边框便折返

RT,现在是沉下去老久才会上来
Public Class Form1
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Timer1.Enabled = False
Label1.Top = 0
Label1.Left = 0
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Timer1.Enabled = True
End Sub

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
    Call mymove()
End Sub

Sub mymove()
    Static m As Double
    m = (Me.Height - Label1.Height) / (Me.Width - Label1.Width)
    Timer1.Interval = Val(TextBox1.Text)
    Dim x As Double, y As Double
    Static flag As Integer
    If (Label1.Top <= 0 And Label1.Left <= 0 Or Label1.Top <= 0 And Label1.Left >= Me.Width - Label1.Width) Then
        flag = 0
    ElseIf (Label1.Top >= Me.Height - Label1.Height And Label1.Left <= 0) Then
        flag = 1
    ElseIf (Label1.Top >= Me.Height - Label1.Height And Label1.Left >= Me.Width - Label1.Width) Then
        flag = 2
    End If
    Select Case flag
        Case 0
            x = 100 * m
            y = 0
        Case 1
            x = -100 * m
            y = 100
        Case 2
            x = -100 * m
            y = -100
    End Select
    Label1.Top += x
    Label1.Left += y
    Label2.Text = x
    Label3.Text = y
End Sub

End Class

  • 写回答

2条回答 默认 最新

  • threenewbee 2015-11-24 16:10
    关注

    Label1.Top >= Me.Height - Label1.Hight加入条件

    评论

报告相同问题?

悬赏问题

  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 matlab求解平差
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办
  • ¥15 vue2登录调用后端接口如何实现
  • ¥85 永磁型步进电机PID算法