C#

[C#]디지털 시계

선영아 사랑해 2019. 6. 14. 11:20

private void CreateSegment(Control ctl, int number)
        {
            Graphics g = ctl.CreateGraphics();

            Pen p = new Pen(Color.Orange, 10);

            Point po1 = new Point(10, 10);

            Point po2 = new Point(10, 50);

            Point po3 = new Point(10, 90);

            Point po4 = new Point(60, 10);

            Point po5 = new Point(60, 50);

            Point po6 = new Point(60, 90);

           

            g.Clear(Color.Black);

            if (number == 0)
            {
                g.DrawLine(p, po1, po2);

                g.DrawLine(p, po2, po3);

                g.DrawLine(p, po1, po4);

                g.DrawLine(p, po3, po6);

                g.DrawLine(p, po4, po5);

                g.DrawLine(p, po5, po6);
            }

            if (number == 1)
            {
                g.DrawLine(p, po4, po5);

                g.DrawLine(p, po5, po6);
            }

            if (number == 2)
            {
                g.DrawLine(p, po1, po4);

                g.DrawLine(p, po4, po5);

                g.DrawLine(p, po2, po5);

                g.DrawLine(p, po2, po3);

                g.DrawLine(p, po3, po6);
            }

            if (number == 3)
            {
                g.DrawLine(p, po1, po4);

                g.DrawLine(p, po4, po5);

                g.DrawLine(p, po2, po5);

                g.DrawLine(p, po5, po6);

                g.DrawLine(p, po3, po6);
            }

            if (number == 4)
            {
                g.DrawLine(p, po1, po2);

                g.DrawLine(p, po2, po5);

                g.DrawLine(p, po4, po5);

                g.DrawLine(p, po5, po6);
            }

            if (number == 5)
            {
                g.DrawLine(p, po1, po4);

                g.DrawLine(p, po1, po2);

                g.DrawLine(p, po2, po5);

                g.DrawLine(p, po5, po6);

                g.DrawLine(p, po3, po6);
            }

            if (number == 6)
            {
                g.DrawLine(p, po1, po2);

                g.DrawLine(p, po2, po3);

                g.DrawLine(p, po1, po4);

                g.DrawLine(p, po2, po5);

                g.DrawLine(p, po3, po6);

                g.DrawLine(p, po5, po6);
            }

            if (number == 7)
            {
                g.DrawLine(p, po1, po4);

                g.DrawLine(p, po4, po5);

                g.DrawLine(p, po5, po6);
            }

            if (number == 8)
            {
                g.DrawLine(p, po1, po2);

                g.DrawLine(p, po2, po3);

                g.DrawLine(p, po1, po4);

                g.DrawLine(p, po2, po5);

                g.DrawLine(p, po3, po6);

                g.DrawLine(p, po4, po5);

                g.DrawLine(p, po5, po6);
            }

            if (number == 9)
            {
                g.DrawLine(p, po1, po2);

                g.DrawLine(p, po1, po4);

                g.DrawLine(p, po2, po5);

                g.DrawLine(p, po3, po6);

                g.DrawLine(p, po4, po5);

                g.DrawLine(p, po5, po6);
            }

           

            
            p.Dispose();
            g.Dispose();

            Application.DoEvents();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            CreateSegment(label1, DateTime.Now.Hour / 10);
            CreateSegment(label2, DateTime.Now.Hour % 10);

            CreateSegment(label3, DateTime.Now.Minute / 10);
            CreateSegment(label4, DateTime.Now.Minute % 10);

            CreateSegment(label5, DateTime.Now.Second / 10);
            CreateSegment(label6, DateTime.Now.Second % 10);
        }


7 세그먼트 형식으로 표시되는 시계 예제 소스입니다.