How to make a Analog clock!
Heres your chance to share your own tutorials with the community. Just post them on here. If your lucky they may even be posted on the main site.
1 post
Page 1 of 1
What will i need?
- 12 labels(have text equal the same it is named such as label1 = 1, and so on, you do not need to place them in a certain place the code will do it for you! :mrgreen: )
- 2 timers(enable both timers)
Form1_load event
Timer1_Tickevent
Timer2_tickevent
![Image]()
That is all! It is all in the code! ;)
Have fun!
+ Rep to me!
- 12 labels(have text equal the same it is named such as label1 = 1, and so on, you do not need to place them in a certain place the code will do it for you! :mrgreen: )
- 2 timers(enable both timers)
Form1_load event
Code: Select all
Label1.Location = New Point(505, 203)
Label2.Location = New Point(561, 261)
Label3.Location = New Point(592, 335)
Label4.Location = New Point(561, 404)
Label5.Location = New Point(505, 464)
Label6.Location = New Point(430, 489)
Label7.Location = New Point(357, 463)
Label8.Location = New Point(305, 408)
Label9.Location = New Point(272, 334)
Label10.Location = New Point(302, 259)
Label11.Location = New Point(354, 200)
Label12.Location = New Point(430, 177)
End Sub
Timer1_Tickevent
Code: Select all
'timer1 will draw the hands of the clock
'convert seconds to angles
Dim seconds As Integer = (Now.Second * 6) + 270
'convert minutes to angles
Dim minutes As Integer = (Now.Minute * 6) + 270
'convert hours to angles
Dim hours As Integer = (Now.Hour * 30) + 270
'text label will hold the current time
Time.Text = Now
'creating graphics
Dim g As Graphics
g = Me.CreateGraphics
'generating pens
Dim hour As New Pen(Color.Blue)
Dim hour2 As New Pen(Color.White)
Dim second As New Pen(Color.Black)
Dim minute As New Pen(Color.Red)
Dim minute2 As New Pen(Color.White)
Dim white As New Pen(Color.White)
Dim circle As New Pen(Color.Black)
'assigning pens width
hour.Width = 8
hour2.Width = 10
second.Width = 1
minute.Width = 4
minute2.Width = 4
white.Width = 10
circle.Width = 5
'draws hands of the clock and their locations
g.DrawPie(hour2, 319, 219, 240, 240, hours - 30, 360)
g.DrawPie(minute2, 289, 189, 300, 300, minutes - 6, 360)
g.DrawPie(Pens.White, 269, 169, 340, 340, seconds - 6, 360)
g.DrawPie(hour, 319, 219, 240, 240, hours, 360)
g.DrawEllipse(white, 319, 219, 240, 240)
g.DrawPie(minute, 289, 189, 300, 300, minutes, 360)
g.DrawEllipse(white, 289, 189, 300, 300)
g.DrawPie(second, 269, 169, 340, 340, seconds, 360)
g.DrawEllipse(white, 269, 169, 340, 340)
'Draws a circle around the clock
g.DrawEllipse(circle, 249, 149, 380, 380)
End Sub
Timer2_tickevent
Code: Select all
This is what it should look like! ' timer2 will draw the shape of the clock and the marks
tick += 6
tick2 += 30
Dim g As Graphics
Dim hoursMarks As New Pen(Color.Black)
hoursMarks.Width = 5
g = Me.CreateGraphics
g.DrawPie(Pens.Black, 249, 149, 380, 380, tick, 360)
g.DrawPie(hoursMarks, 249, 149, 380, 380, tick2, 360)
g.DrawEllipse(Pens.White, 269, 169, 340, 340)
g.FillEllipse(Brushes.White, 269, 169, 340, 340)
If tick > 800 Then
'drawing the shape is done and the timer will stop
Timer2.Stop()
tick = 270
tick2 = 270
End If
End Sub

That is all! It is all in the code! ;)
Have fun!
+ Rep to me!
------------------------------------------------------------------------------
Proprogrammer, not just a Programmer.
Proprogrammer, not just a Programmer.
1 post
Page 1 of 1
Copyright Information
Copyright © Codenstuff.com 2020 - 2023