投稿者 るしぇ  (社会人) 投稿日時 2008/10/18 04:53:40
。。。
くるくるってこういうことじゃなかったんだ。。。


    Private Const m_StepMax As Integer = 100
    Private Const m_StepWidthMax As Integer = 200
    Private m_Step As Integer
    Private m_StepWidth As Integer
    Private m_Count As Integer
    Private m_Revers As Boolean

    Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles Button1.Click
        With Me.Timer1
            .Enabled = Not .Enabled
        End With
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles Timer1.Tick
        Dim green As Integer = m_Step * m_Count
        Dim Brush As SolidBrush
        Dim g As Graphics = Me.CreateGraphics

        If green > 255 Then green = 255
        If green < 0 Then green = 0
        Brush = New SolidBrush(Color.FromArgb(255, green, 0))

        Me.Refresh()
        g.FillEllipse(Brush, CInt(100 + (m_StepWidth / 2) * (m_StepMax - m_Count)), 100, m_StepWidth * (m_Count - 1), 200)

        Brush.Dispose()
        g.Dispose()

        If m_Revers Then
            m_Count -= 1
        Else
            m_Count += 1
        End If
        If m_Count > m_StepMax OrElse m_Count < 0 Then m_Revers = Not m_Revers

    End Sub

    Private Sub Kurukuru_Load(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles MyBase.Load
        m_Step = CInt(255 / m_StepMax)
        m_StepWidth = CInt(m_StepWidthMax / m_StepMax)
    End Sub