C#实现漂亮的数字时钟效果

时间:2021-05-20

本文实例讲述了用C#做了一个漂亮的数字时钟。分享给大家供大家参考。

程序运行后界面如下:

实现技术:主要是通过Graphics类的DrawImage方法来绘制数字时钟中所有的数字,这些数字是从网上找的一些图片文件。时钟使用DateTime中Now属性来获得不同的,时,分,秒,最后通过定时器来实现时钟的运行状态。

主要代码如下:

复制代码 代码如下://将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!

希望本文所述对大家的C#程序设计有所帮助。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章