c#小程序時(shí)鐘源碼Word版
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace 時(shí)º¡À鐘¨®推薦精選 public partial class Form1 : Form /指?針?坐Á?標(biāo)À¨º private static float hour_x = 0, hour_y = 0; private static float minute_x = 0, minute_y = 0; private static float second_x = 0, second_y = 0;推薦精選 private float radii = 200; /將?角?度¨¨轉(zhuǎn)Áa成¨¦弧?度¨¨ 2 * 3.1415926 / 360 = 0.01745329 const float radian = 0.01745329F; public Form1() 推薦精選 InitializeComponent(); /指?定¡§當(dāng)Ì¡À窗ä¡ã口¨²大䨮小?改?變À?時(shí)º¡À重?繪?整?個?窗ä¡ã口¨² this.SetStyle(ControlStyles.ResizeRedraw, true); 推薦精選 private void Form1_Load(object sender, EventArgs e) /創(chuàng)ä¡ä建¡§定¡§時(shí)º¡À器¡Â對?象¨® Timer timer = new Timer(); /啟?動¡¥定¡§時(shí)º¡À器¡Â timer.Start(); /設(shè)¦¨¨定¡§定¡§時(shí)º¡À器¡Â事º?件t的Ì?觸䣤發(fā)¤¡é函¡¥數(shù)ºy推薦精選 timer.Tick += new EventHandler(TickEvent); /設(shè)¦¨¨定¡§定¡§時(shí)º¡À器¡Â的Ì?間?隔?時(shí)º¡À間?為a 1000 毫¨¢秒? timer.Interval = 1000; 推薦精選 protected override void OnPaint(PaintEventArgs e) base.OnPaint(e); /創(chuàng)ä¡ä建¡§畫-刷¡é,ê?并¡é設(shè)¦¨¨定¡§畫-刷¡é的Ì?顏?色¦?推薦精選 SolidBrush brush = new SolidBrush(Color.FromArgb(255, 0, 255); Pen pen = new Pen(Color.Black); /得Ì?到Ì?窗ä¡ã口¨²長¡è寬¨ª兩¢?邊À?最Á?短¨¬的Ì?一°?邊À?,作Á¡Â為a圓2的Ì?外ªa切D矩?形?的Ì?邊À?長¡è radii = 推薦精選this.ClientRectangle.Width < this.ClientRectangle.Height ? this.ClientRectangle.Width : this.ClientRectangle.Height; radii -= 10; /把ã?窗ä¡ã口¨²的Ì?原-點(diǎn)Ì?移°?到Ì?新?坐Á?標(biāo)À¨º推薦精選 e.Graphics.TranslateTransform(this.ClientRectangle.Width / 2 - radii / 2, this.ClientRectangle.Height / 2 - radii / 2); /畫-圓2 e.Graphics.DrawEllipse(pen, 0, 0, radii, radii); /時(shí)º¡À鐘¨®刻¨¬度¨¨坐Á?標(biāo)À¨º推薦精選 float x = 0.00F, y = 0.00F; /畫-出?時(shí)º¡À鐘¨®的Ì?刻¨¬度¨¨ for (float i = 0.00F; i < 360; i += 6.00F) x = (float)(radii / 2-6) * (float)Math.Sin(i * radian);推薦精選 y = (float)(radii / 2-6) * (float)Math.Cos(i * radian); if (int)i % 30 = 0) e.Graphics.FillEllipse(brush, x + radii / 2 - 4, y + radii / 2 - 4, 8, 8); else e.Graphics.FillEllipse(brush, x + radii / 2 - 2, y + radii / 2 - 2, 4, 4);推薦精選 / 畫-實(shí)º¦Ì心?圓2形?,ê?new SolidBrush(Color.Black) 是º?創(chuàng)ä¡ä建¡§畫-刷¡é e.Graphics.FillEllipse(new SolidBrush(Color.Black), radii / 2 - 5, radii / 2 - 5, 10, 10);推薦精選 e.Graphics.Dispose(); public void TickEvent(object sender,EventArgs e) /創(chuàng)ä¡ä建¡§畫-板ã?對?象¨® Graphics g = this.CreateGraphics(); /指?定¡§新?原-點(diǎn)Ì?推薦精選 g.TranslateTransform(this.ClientRectangle.Width / 2, this.ClientRectangle.Height / 2); /創(chuàng)ä¡ä建¡§畫-筆À¨º,并¡é設(shè)¦¨¨定¡§顏?色¦? Pen pen = new 推薦精選Pen(Color.FromArgb(0,255,0); float radii2 = radii / 2 - 6; /利¤?用®?背À3景¡ã色¦?擦¨¢除y原-來¤¡ä的Ì?指?針? pen.Color = Color.FromArgb(255, 255, 255); g.DrawLine(pen, 0, 0, hour_x, -hour_y);推薦精選 g.DrawLine(pen, 0, 0, minute_x, -minute_y); g.DrawLine(pen, 0, 0, second_x, -second_y); /畫-出?時(shí)º¡À針? int hour = DateTime.Now.Hour > 12 ? DateTime.Now.Hour - 12 : 推薦精選DateTime.Now.Hour; hour_x = (float)(radii2 - 70) * (float)Math.Sin(hour * 30 + DateTime.Now.Minute * (30f / 60f) * radian); hour_y = (float)(radii2 - 70) * (float)Math.Cos(hour * 30 + DateTime.Now.Minute * (30f / 60f) * radian); pen.Color = Color.FromArgb(0, 255, 0);推薦精選 g.DrawLine(pen, 0, 0, hour_x, -hour_y); /畫-出?分¤?針? minute_x = (float)(radii2-30) * (float)Math.Sin(DateTime.Now.Minute * 6 * radian); minute_y = (float)(radii2-30) * (推薦精選float)Math.Cos(DateTime.Now.Minute * 6 * radian); pen.Color = Color.FromArgb(0, 0, 255); g.DrawLine(pen, 0, 0, minute_x, -minute_y); /畫-出?秒?針? second_x = (推薦精選float)(radii2-8) * (float)Math.Sin(DateTime.Now.Second * 6 * radian); second_y = (float)(radii2-8) * (float)Math.Cos(DateTime.Now.Second * 6 * radian); pen.Color = Color.FromArgb(0, 255, 255); g.DrawLine(pen, 0, 0, second_x, -second_y);推薦精選 g.Dispose(); 到下面的網(wǎng)站去看也可以看到c#小程序代碼 (注:可編輯下載,若有不當(dāng)之處,請指正,謝謝!) 推薦精選