Ejemplo n.º 1
0
        public TimeItemCollection()
        {
            DateTime date   = DateTime.Now;
            int      month  = date.Month;
            int      day    = date.Day;
            int      hour   = date.Hour;
            int      min    = date.Minute;
            int      second = date.Second;

            for (int i = 1; i <= 12; i++)
            {
                Months.Add(new TimeItem()
                {
                    Content = $"{i.ToString().PadLeft(2, '0')}月",
                    Value   = i,
                    Angle   = 30 * (i - month - 1)
                });
            }
            for (int i = 1; i <= 31; i++)
            {
                Days.Add(new TimeItem()
                {
                    Content = $"{i.ToString().PadLeft(2, '0')}天",
                    Value   = i,
                    Angle   = 360.0 / 31.0 * (i - day - 1)
                });
            }
            for (int i = 0; i < 24; i++)
            {
                Hours.Add(new TimeItem()
                {
                    Content = $"{i.ToString().PadLeft(2, '0')}点",
                    Value   = i,
                    Angle   = 15 * (i - hour - 1)
                });
            }
            for (int i = 0; i < 60; i++)
            {
                Mins.Add(new TimeItem()
                {
                    Content = $"{i.ToString().PadLeft(2, '0')}分",
                    Value   = i,
                    Angle   = 6 * (i - min - 1)
                });
            }
            for (int i = 0; i < 60; i++)
            {
                Seconds.Add(new TimeItem()
                {
                    Content = $"{i.ToString().PadLeft(2, '0')}秒",
                    Value   = i,
                    Angle   = 6 * (i - second - 1)
                });
            }
        }
Ejemplo n.º 2
0
 private void timer_Tick(object sender, EventArgs e)
 {
     Hrs  = Math.Abs(DateTime.Now.Hour - 12);
     Mins = DateTime.Now.Minute;
     Secs = DateTime.Now.Second;
     //Calculating first digits of each time
     HoursFirstDigit   = (int)(Hrs.ToString()[0]) - 48;
     MinutesFirstDigit = (int)(Mins.ToString()[0]) - 48;
     SecondsFirstDigit = (int)(Secs.ToString()[0]) - 48;
     // checking if hrs and minutes and secs are larger than 10
     // because if it is a single Digit Time , the (Hrs.ToString()[1]) fails to read the second array element
     // causes a null exception
     if (Hrs >= 10)
     {
         HoursSecondDigit = (int)(Hrs.ToString()[1]) - 48;
         MapNumber(HoursSecondDigit, Hours2);
         MapNumber(HoursFirstDigit, Hours1);
     }
     else
     {
         HoursSecondDigit = HoursFirstDigit;
         MapNumber(HoursSecondDigit, Hours2);
         MapNumber(0, Hours1);
     }
     if (Mins >= 10)
     {
         MinutesSecodDigit = (int)(Mins.ToString()[1]) - 48;
         MapNumber(MinutesSecodDigit, Mins2);
         MapNumber(MinutesFirstDigit, Mins1);
     }
     else
     {
         MinutesSecodDigit = MinutesFirstDigit;
         MapNumber(MinutesSecodDigit, Mins2);
         MapNumber(0, Mins1);
     }
     if (Secs >= 10)
     {
         SecondsSecondDigit = (int)(Secs.ToString()[1]) - 48;
         MapNumber(SecondsSecondDigit, Secs2);
         MapNumber(SecondsFirstDigit, Secs1);
     }
     else
     {
         SecondsSecondDigit = SecondsFirstDigit;
         MapNumber(MinutesSecodDigit, Secs2);
         MapNumber(0, Secs1);
     }
     Debug.WriteLine("TIME" + Hrs + ":" + Mins + ":" + Secs);
 }