zoukankan      html  css  js  c++  java
  • .NET 绘制钟表


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Drawing.Drawing2D;
    using System.Text;
    using System.Windows.Forms;

    namespace WindowsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            /// <summary>
            /// 判断系统当前是星期几
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void We(object sender, EventArgs e)
            {
                string dt, week = "0";//定义两个变量
                dt = DateTime.Today.DayOfWeek.ToString();//把系统星期赋予dt
                switch (dt)//判断
                {
                    case "Sunday":
                        week = "星期日";
                        break;
                    case "Monday":
                        week = "星期一";
                        break;
                    case "Tuesday":
                        week = "星期二";
                        break;
                    case "Wednesday":
                        week = "星期三";
                        break;
                    case "Thursday":
                        week = "星期四";
                        break;
                    case "Friday":
                        week = "星期五";
                        break;
                    case "Saturday":
                        week = "星期六";
                        break;
                }
                textBox1.Text = week;
            }
            //定义三个变量
            float i = 270, j = 270, k = 270;
            private void timer1_Tick(object sender, EventArgs e)
            {
                this.Refresh();
                Graphics gra = this.CreateGraphics();//创建一个画板
                /*********************************/
                //表盘上的指针
                SolidBrush sb = new SolidBrush(Color.Blue);
                Font f = new Font("宋体", 18);
                gra.DrawString("1", f, sb, 195, 20);
                gra.DrawString("2", f, sb, 235, 60);
                gra.DrawString("3", f, sb, 250, 123);
                gra.DrawString("4", f, sb, 235, 183);
                gra.DrawString("5", f, sb, 195, 225);
                gra.DrawString("6", f, sb, 125, 245);
                gra.DrawString("7", f, sb, 55, 225);
                gra.DrawString("8", f, sb, 15, 183);
                gra.DrawString("9", f, sb, 0, 123);
                gra.DrawString("10", f, sb, 15, 60);
                gra.DrawString("11", f, sb, 55, 20);
                gra.DrawString("12", f, sb, 125, 0);

                //表盘的框架:黑色,宽度是3
                Pen p = new Pen(Color.Black, 3);
                We(sender, e);
                p.DashStyle = DashStyle.Solid;
    %0@            gra.DrawEllipse(p, 0, 0, 270, 270);

                //表盘上的三个指针i,j,k;
                Pen p1 = new Pen(Color.Red);
                Pen p2 = new Pen(Color.Blue);
                Pen p3 = new Pen(Color.Yellow);
                gra.DrawPie(p3, 20, 20, 230, 230, k, 0.1f);//秒          
                gra.DrawPie(p2, 30, 30, 210, 210, j, 0.1f);//分
                gra.DrawPie(p1, 40, 40, 190, 190, i, 0.1f);//小时
                //指针旋转的代码
                if (i < 360)
                {
                    i += 6;
                    if (i == 270)
                    {
                        if (j <= 360)
                        {
                            j += 6;
                            if (j == 270)
                            {
                                if (k <= 360)
                                {
                                    k += 30;
                                }
                                else
                                {
                                    k = 30;
                                }
                            }
                        }
                        else
                        {
                            j = 6;
                        }
                    }
                }
                else
                {
                    i = 6;
                }
            }
        }
    }

  • 相关阅读:
    插入排序
    APPlication,Session,Cookie,ViewState和Cache之间的区别
    sqlserver 2005新特性
    选择排序
    Transact_SQL小手册
    装箱和取消装箱
    select语句的执行步骤:
    using 的三种用法
    创建索引及撤销
    (转译)用FFmpeg和SDL写播放器08软件缩放
  • 原文地址:https://www.cnblogs.com/xxaxx/p/2055961.html
Copyright © 2011-2022 走看看