WinForm学习(1) --简单的模拟时钟程序

本文介绍了如何使用GDI+在WinForm中创建一个模拟时钟程序,详细讲述了绘制表盘和表针的过程。通过计算角度和应用三角函数确定表针位置,实现了时针、分针和秒针的动态更新。文章还讨论了如何处理窗口大小变化以保持表盘适应性,并解决了时针在整点转换时的平滑过渡问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天学习GDI+,试着想写一个模拟时钟的小程序,原以为很简单实现;但其实还有些复杂,特别是利用三角函数的那部分,让我四处找资料恶补了一下高中数学才算弄清楚,现在就回顾一下这个程序吧.

程序的目的是要模拟出时钟的效果,那首先就是要画出这个时钟的样子。不考虑美观,一个时钟最简单的组成是一个圆形的表盘,三根直线代表的时针、分针和秒针。

看起来很简单吧,但要怎么样画呢?让我们一步一步来吧:

1.画表盘

Graphics g = this.CreateGraphics(); //创建一个Graphics对象

Pen myPen = new Pen(Color.Blue,1); //创建一个自定义画笔对象

//创建一个正方形rect
int myRect_X = this.ClientRectangle.Right/4;
int myRect_Y = this.ClientRectangle.Bottom/4;
int myRect_Width;
int myRect_Height;
if(this.ClientRectangle.Height< this.ClientRectangle.Width)
{

myRect_Width = this.ClientRectangle.Height/2;
myRect_Height = this.ClientRectangle.Height/2;
}
else
{
myRect_Width = this.ClientRectangle.Width/2;
myRect_Height = this.ClientRectangle.Width/2;
}

Rectangle rect = new Rectangle(myRect_X,myRect_Y,myRect_Width,myRect_H

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值