问题描述
任务是做一个指针式时钟,缺少一个图形界面,各位大神帮忙
解决方案
解决方案二:
WPF干这个比较好!下面是一个Silverlight例子,可以转换为WPF!
解决方案三:
用.Net做!!!呵呵、、、简单!privatevoidForm1_Load(objectsender,EventArgse){this.timer1.Start();}privatevoidtimer1_Tick(objectsender,EventArgse){//窗体重绘this.Refresh();//初始变量intr=190;//直径ints=55;//秒钟intm=40;//分钟inth=25;//时钟//创建画板Graphicsg=this.CreateGraphics();//创建画笔Penp=newPen(Color.Red);//设置画笔的组细p.Width=4;//画圆圈//g.DrawEllipse(p,0,0,r,r);#region//秒钟//确定第一点坐标intx1=95;inty1=95;//确定a和b的边长inta=(int)(Math.Sin(DateTime.Now.Second*6*(2*Math.PI/360))*s);intb=(int)(Math.Cos(DateTime.Now.Second*6*(2*Math.PI/360))*s);//确定第二点坐标intx2=r/2+a;inty2=r/2-b;//画秒钟g.DrawLine(p,x1,y1,x2,y2);#endregion#region//分钟//确定第一点坐标x1=95;y1=95;//确定a和b的边长a=(int)(Math.Sin(DateTime.Now.Minute*6*(2*Math.PI/360))*m);b=(int)(Math.Cos(DateTime.Now.Minute*6*(2*Math.PI/360))*m);//确定第二点坐标x2=r/2+a;y2=r/2-b;p.Color=Color.Blue;//画分钟g.DrawLine(p,x1,y1,x2,y2);#endregion#region//时钟//确定第一点坐标x1=95;y1=95;//确定a和b的边长a=(int)(Math.Sin(DateTime.Now.Hour*30*(2*Math.PI/360))*h);b=(int)(Math.Cos(DateTime.Now.Hour*30*(2*Math.PI/360))*h);//确定第二点坐标x2=r/2+a;y2=r/2-b;p.Color=Color.Green;//画时钟g.DrawLine(p,x1,y1,x2,y2);#endregion
解决方案四:
如果2楼代码可用的话,把timer1_Tick中的代码放到OnPaint中,timer1_Tick中调用Invalidate重绘