看看下面的代码是不是你想要的。
新建一个工程,放一个timer控件,interval设为50,用line控件画一条直线。form的autoredraw设为true
代码如下:Option Explicit
Const Pi As Single = 3.14159265358979Dim l As Integer '弧或圆的周长
Dim Ox As Integer, Oy As Integer    '弧或圆的圆心
Dim sX As Integer, sY As Integer    '弧的起点坐标Private Sub Form_Click()
Timer1.Enabled = True
End SubPrivate Sub Form_Load()
'获取周长
l = Fix(((Line1.Y2 - Line1.Y1) ^ 2 + (Line1.X2 - Line1.X1) ^ 2) ^ 0.5)sX = Line1.X1
sY = Line1.Y1Timer1.Interval = 50
Timer1.Enabled = FalseMe.AutoRedraw = TrueEnd SubPrivate Sub Timer1_Timer()
Static W As Single   '一条弧的弧度
Dim R As Integer     '弧或圆的半径
Dim sW As Single, eW As Single   '开始弧度和结束弧度If Line1.Visible = True Then
Line1.Visible = False
End IfIf W < 2 * Pi Then
W = W + (2 * Pi) / 50
Else
R = Fix(l / (2 * Pi))
Ox = sX
Oy = sY - R
Me.Circle (Ox, Oy), R
W = 0
Timer1.Enabled = False
Exit Sub
End IfR = Fix(l / W)Ox = sX
Oy = sY - RsW = 1.5 * Pi
eW = IIf(sW + W < 2 * Pi, sW + W, sW + W - 2 * Pi)Me.ClsMe.Circle (Ox, Oy), R, , sW, eWEnd Sub运行程序后,单击窗体