Реализация подобия солнечных часов - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Ребята помогите пожалуйста. Я начинающий программист, вообщем нужна программа что то наподобие солнечных часов, типо круг и палка, вот и при нажатии на кнопку солнце ходило над палкой и палка как будто отбрасывала тень, тем самым показывая время, искал на форумах коды, но безуспешно(

Решение задачи: «Реализация подобия солнечных часов»

textual
Листинг программы
Public Class Form3
    Private dd, d, xx, yy As Integer
    Private isLoad As Boolean
    Private pn As Pen
    Private Rotation As Double
    Private Sub Form3_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        isLoad = False
        PictureBox1.Width = 300
        PictureBox1.Height = 300
        Timer1.Interval = 300
        d = 30
        dd = 10
        pn = New Pen(Brushes.DarkGray, dd)
        Rotation = 0
    End Sub
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        isLoad = True
        PictureBox1.Invalidate()
        Timer1.Enabled = True
    End Sub
    Private Sub PictureBox1_Paint(sender As System.Object, e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
        If Not isLoad Then Exit Sub
        Dim g As Graphics = e.Graphics
        Dim ww As Integer = PictureBox1.Width / 2
        Dim d2 As Integer = d / 2
        Dim dd2 As Integer = dd / 2
        g.Clear(PictureBox1.BackColor)
        g.TranslateTransform(ww, ww)
        g.RotateTransform(CSng(Rotation * -57.3))
        g.FillEllipse(Brushes.Yellow, ww - 2 * d, -d2, d, d)
        g.DrawLine(pn, New Point(-dd2 / 2, 0), New Point(-ww + 2 * d, 0))
        g.FillEllipse(Brushes.Brown, -dd2, -dd2, dd, dd)
        'g.RotateTransform(Rotation * -57.3)
    End Sub
    Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
        Rotation += 0.05
        PictureBox1.Invalidate()
    End Sub
End Class

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5