الأربعاء، 14 يونيو 2017

برمجة ساعة عقارب بالفيجوال بيسك دوت نت analog clock


اولا اضافة عدد 12 label كل ليبل منهم ياخد الرقم من 1 الى 12 بخلفيه بيضاء
ثانيا : اضافة label ونعطيه الاسم time
ثالثاً : اضافة اداة timer وجعل interval = 1000
رابعاً : فى حدث form load نضع الاكواد الاتية الخاصة برسم الساعة
   Private Sub Form1_Load....... MyBase.Load
        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)
        For i = 0 To 800
            '  رسم الاشكال والعلامات الخاصة بالساعة
            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
                'تم الانتهاء من الاشكال وبدء التيمر والخروج من اللوب
                tick = 270
                tick2 = 270
                Timer1.Start()
                Exit For
            End If
        Next
    End Sub
خامساً : فى حدث timer1.tick

'سيقوم التيمر برسم عقارب الساعة
        'تحويل الثوانى لزوايا
        Dim seconds As Integer = (Now.Second * 6) + 270
        'تحويل الدقائق لزوايا
        Dim minutes As Integer = (Now.Minute * 6) + 270
        'تحويل الساعات لزوايا
        Dim hours As Integer = (Now.Hour * 30) + 270
        'وضع الوقت الحالى فى الليبل
        time.Text = Now
        'انشاء كائن الجرافيك
        Dim g As Graphics
        g = Me.CreateGraphics
        'انشاء 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
        'رسم عقارب الساعة
        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)
        'Draw a circle around the clock
        g.DrawEllipse(circle, 249, 149, 380, 380)

    End Sub

ليست هناك تعليقات:

اضافة تعليق

جميع الحقوق محفوظة © 2019 الحقيبة البرمجية لمبرمجى VB.NET