在窗体上以(3000,3000)为中心画两个Circle,半径分别为500,3000
现要把两个Circle所包含的圆环分为20等份,(每一份都能响应不同的事件)
请问各位大哥,该怎么分啊,最好分完了后,还能通过一个变量来衡量所分的等份,我想过用“角度”来分,但我所分的等份不“等”(有的大,有的小了),帮帮小弟了,送分啊!!!!!!!
Private Sub Form_Paint()
Dim i, j As Integer
pi = 3.14159265358979Me.Circle (3000, 3000), 3000
Me.Circle (3000, 3000), 500
For i = 0 To 20
    Me.Line (Math.Cos(13 * i) * 500 + 3000#, Math.Sin(13 * i) * 500 + 3000#)-(Math.Cos(13 * i) * 3000 + 3000#, Math.Sin(13 * i) * 3000 + 3000#)
Next
End Sub

解决方案 »

  1.   

    Private Sub Form_Paint()
    Dim i, j As Integer
    pi = 3.14159265358979Me.Circle (3000, 3000), 3000
    Me.Circle (3000, 3000), 500
    For i = 0 To 20
        Me.Line (Math.Cos(13 * i) * 500 + 3000#, Math.Sin(13 * i) * 500 + 3000#)-(Math.Cos(13 * i) * 3000 + 3000#, Math.Sin(13 * i) * 3000 + 3000#)
    Next
    End Sub
      

  2.   

    你的程序有很多问题,而其中最大的问题是小学的乘法运算:
    360/20=18而不是13。试试下面的:Private Sub Form_Paint()
    Dim i, j As Integer
    pi = 3.14159265358979
    Me.Circle (3000, 3000), 3000
    Me.Circle (3000, 3000), 500
    For i = 0 To 20
    Me.Line (Math.Cos(pi / 180 * 18 * i) * 500 + 3000, Math.Sin(pi / 180 * 18 * i) * 500 + 3000)-(Math.Cos(pi / 180 * 18 * i) * 3000 + 3000, Math.Sin(pi / 180 * 18 * i) * 3000 + 3000)
    Next
    End Sub