前言:
目前我们对“web时间控件”大概比较关切,同学们都需要了解一些“web时间控件”的相关资讯。那么小编同时在网上收集了一些关于“web时间控件””的相关文章,希望看官们能喜欢,小伙伴们快快来了解一下吧!#头条创作挑战赛#
声明定义变量与初始化:
//设置秒针,分钟,时针的长度 int s_p = 150, m_p = 110, h_p = 80; private void Form1_Load(object sender, EventArgs e) { this.Text = "美美的时钟"; }添时时间控件:
private void timer1_Tick(object sender, EventArgs e) { toolStripStatusLabel1.Text = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");//获取当前系统时间并输出 toolStripStatusLabel1.BackColor = System.Drawing.Color.Pink; toolStripStatusLabel1.ForeColor = System.Drawing.Color.Brown; mycolock();//调用mycolock()函数 }
定义时钟函数:
void mycolock()//定义时间函数 { Graphics graphics = pictureBox1.CreateGraphics();//创建Graphics对象 graphics.Clear(Color.White);//清空 Pen mypen = new Pen(Color.Pink, 5);//设置为黑色,笔的粗细为2 graphics.DrawEllipse(mypen, pictureBox1.ClientRectangle);//画表盘 int h = DateTime.Now.Hour;//获取当前系统时间的小时 int m = DateTime.Now.Minute;//获取当前系统时间的分钟 int s = DateTime.Now.Second;//获取当前系统时间的秒 Point C = new Point(pictureBox1.ClientRectangle.Width / 2, pictureBox1.Height / 2);//获取圆心坐标 Point S = new Point((int)(C.X + (Math.Sin(6 * s * Math.PI / 180)) * s_p), (int)(C.Y - (Math.Cos(6 * s * Math.PI / 180)) * s_p));//获取秒针另一端点的坐标 Point M = new Point((int)(C.X + (Math.Sin(6 * m * Math.PI / 180)) * m_p), (int)(C.Y - (Math.Cos(6 * m * Math.PI / 180)) * m_p));//获取分针另一端点的坐标 Point H = new Point((int)(C.X + (Math.Sin(((30 * h) + m / 2) * Math.PI / 180)) * h_p), (int)(C.Y - (Math.Cos((30 * h + (m / 2)) * Math.PI / 180)) * h_p));//获取时针另一端点的坐标 graphics.DrawLine(mypen, C, S);//画秒针 mypen = new Pen(Color.Red, 9);//改变画笔的粗细,设置为3 graphics.DrawLine(mypen, C, M);//画分针 mypen = new Pen(Color.Green, 10);//改变画笔的粗细,设置为4 graphics.DrawLine(mypen, C, H);//画时针 //画刻度 GraphicsState state = graphics.Save(); state = graphics.Save(); int dialRadius = Math.Min(C.X, C.Y);//取最小值 Font hourFont = new Font("Arial", 15, FontStyle.Bold);//定义字号 Brush brush = new SolidBrush(Color.Red); for (int i = 0; i < 60; i++) { string dian = ".";//设 . 代表刻度 if (i % 5 == 0)//每到五个刻度,不显示 . { dian = ""; } Point point = new Point(-6, -6); //当为(0,0)时全部数字偏右下移,故手动调整 double dd = Math.PI / 180 * i * (360 / 60); //每次转360/60度 float x = point.X + (float)((dialRadius - 12) * Math.Cos(dd)); float y = point.Y + (float)((dialRadius - 12) * Math.Sin(dd)); //画圈 graphics.DrawString(dian, hourFont, brush, x + 175, y + 160); } graphics.Restore(state); state = graphics.Save(); for (int i = 0; i < 12; i++) { //已知圆中心占坐标(x0,y0),半径r,角度a0,则圆上任一点坐标(x,y)计算: //x = x0 + r * cos(ao * 3.14 /180) //y = y0 + r * sin(ao * 3.14 /180) Point point = new Point(-6, -6); //当为(0,0)时全部数字偏右下移,故手动调整 double dd = Math.PI / 180 * i * (360 / 12); //每次转360/12度 float x = point.X + (float)((dialRadius - 12) * Math.Cos(dd)); float y = point.Y + (float)((dialRadius - 12) * Math.Sin(dd)); //因为是从顺时钟3点钟开始画,所以索引i需要加上3 int j = i + 3; if (j > 12) j = j - 12; //画圈并显示数字 graphics.DrawString(j.ToString(), hourFont, brush, x + 175, y + 160); } graphics.Restore(state); }
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #web时间控件