09/02/2012, 01:29
ayhan2122
Formunuza basit bir analog saat eklemek için;
SaatKutu adında bir daire ( OvalShape )
SaatSaat, SaatDakika ve SaatSaniye adında 3 tane çizgi ( LineShape )
ve bir tane de Timer ekleyin. Timerin invertali:1000
SaatKutu adında bir daire ( OvalShape )
SaatSaat, SaatDakika ve SaatSaniye adında 3 tane çizgi ( LineShape )
ve bir tane de Timer ekleyin. Timerin invertali:1000
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TimerSaat.Tick
        CizgiLe(SaatKutu, saatsaniye, SaatKutu.Width / 2, Convert.ToInt32(Format(Now(), "ss")))
        CizgiLe(SaatKutu, SaatDakika, SaatKutu.Width / 2 * 0.8, Convert.ToInt32(Format(Now(), "mm")))
        CizgiLe(SaatKutu, SaatSaat, SaatKutu.Width / 2 * 0.7, Convert.ToInt32(Format(Now(), "hh") * 5))
    End Sub
    'SAAT OLAYI
    Private Sub CizgiLe(ByVal Kutu As Microsoft.VisualBasic.PowerPacks.OvalShape, ByVal cizgi As Microsoft.VisualBasic.PowerPacks.LineShape, ByVal cizgiboyu As Integer, ByVal sayi As Integer)
        Dim sns(15) As Double
        sns = {0.0, 0.104528, 0.207912, 0.309017, 0.406737, 0.5, 0.587785, 0.669131, 0.743145, 0.809017, 0.866025, 0.913545, 0.951057, 0.978148, 0.994522, 1}
        Dim css(15) As Double
        css = {1, 0.994522, 0.978148, 0.951057, 0.913545, 0.866025, 0.809017, 0.743145, 0.669131, 0.587785, 0.5, 0.406737, 0.309017, 0.207912, 0.104528, 0.0}
        Dim sy = sayi
        cizgi.X1 = Kutu.Left + (Kutu.Width / 2)
        cizgi.Y1 = Kutu.Top + (Kutu.Height / 2)
        If sayi <= 15 Then
            sayi = sayi
            cizgi.X2 = cizgi.X1 + (cizgiboyu * sns(sayi))
            cizgi.Y2 = cizgi.Y1 - (cizgiboyu * css(sayi))
        ElseIf sayi <= 30 Then
            sayi = sayi - 15
            cizgi.X2 = cizgi.X1 + (cizgiboyu * css(sayi))
            cizgi.Y2 = cizgi.Y1 + (cizgiboyu * sns(sayi))
        ElseIf sayi <= 45 Then
            sayi = sayi - 30
            cizgi.X2 = cizgi.X1 - (cizgiboyu * sns(sayi))
            cizgi.Y2 = cizgi.Y1 + (cizgiboyu * css(sayi))
        ElseIf sayi <= 60 Then
            sayi = sayi - 45
            cizgi.X2 = cizgi.X1 - (cizgiboyu * css(sayi))
            cizgi.Y2 = cizgi.Y1 - (cizgiboyu * sns(sayi))
        End If
        Me.Text = "AnalogSaat..... : " & Format(Now(), "dd.MM.yyyy / HH:mm:ss")
    End Sub