今天用C#做了一个漂亮的数字时钟。界面如下。
实现技术:主要是通过Graphics类的DrawImage方法来绘制数字时钟中所有的数字,这些数字是从网上找的一些图片文件。时钟使用DateTime中Now属性来获得不同的,时,分,秒,最后通过定时器来实现时钟的运行状态。
Main Code:
- //将0~9数字图片保存在Image数组中
- private Image[] image = new Bitmap[10];
- public Form1()
- {
- InitializeComponent();
- for (int i = 0; i < 10;i++ )
- {
- image[i] = new Bitmap(@"D:/编程/C#/数字时钟/数字时钟/Resources/"+i.ToString()+".jpg");
- }
- }
- private void Form1_Paint(object sender, PaintEventArgs e)
- {
- Graphics g = e.Graphics;
- int hh = DateTime.Now.Hour; //取得小时数字
- int hh1 = hh / 10;
- int hh2 = hh % 10;
- g.DrawImage(image[hh1], 20, 20, 80, 180);
- g.DrawImage(image[hh2], 100, 20, 80, 180);
- int mm = DateTime.Now.Minute; //取得分钟数字
- int mm1 = mm / 10;
- int mm2 = mm % 10;
- g.DrawImage(image[mm1], 260, 20, 80, 180);
- g.DrawImage(image[mm2], 340, 20, 80, 180);
- int ss = DateTime.Now.Second; //取得秒数字
- int ss1 = ss / 10;
- int ss2 = ss % 10;
- g.DrawImage(image[ss1], 500, 20, 80, 180);
- g.DrawImage(image[ss2], 580, 20, 80, 180);
- }
- private void timer1_Tick(object sender, EventArgs e) //对窗体进行重绘
- {
- this.Invalidate();
- }
另外,需要将Timer的Interval属性设为1000mm,Enable设置为True!