.NET - 是否有翻转时钟控件?

时间:2010-05-19 18:42:55

标签: c# winforms .net-3.5 clock

对于.NET(Winforms)应用程序,是否有任何翻转时钟控件?

理想情况下,它看起来就像在BlackBerry Bold上找到的那样:

alt text http://images.crackberry.com/files/u3/reviewimages/blackberry9000c/lgclock3.jpg

更新1:

按照这个SO链接,我在项目中添加了一个元素宿主来托管@Shane提到的WPF retroclock。

更新2:

我遵循的几个步骤:

  • 编译RetroClock
  • 将DLL引用添加到WinForm App
  • 添加'使用WPFControls.Clocks;'
  • 将'elementHost'添加到表单
  • 在表单加载事件中添加:

    //create retroclock

    RetroClock rc = new RetroClock();

    //add retroclock to element host

    elementHost1.Child = rc;

更新3:

时钟造型

//style clock
rc.Height = 30;
rc.IncludeLeadingZero = true;
rc.IsAmPmVisible = true;
rc.FontSize = 60;
rc.HorizontalAlignment = System.Windows.HorizontalAlignment.Center;
rc.TimeFormat = TimeFormats.Hour12;

3 个答案:

答案 0 :(得分:4)

这对于winforms来说有点不合适,其主要目的是将公共控件暴露给.Net,以帮助开发人员构建使用“标准”外观的Windows应用程序。这并不意味着你不会找到一个,但你应该先考虑第三方。微软提供的任何东西最多都是事后的想法。

另一方面,WPF更适合这类事情。

答案 1 :(得分:3)

与Joel的答案一致,WPF here有一个简单的答案。

答案 2 :(得分:2)

自己制作一个很容易。添加一个类,从Control派生它。你需要一个让它继续运行的Timer,让它的Tick方法调用Invalidate()。覆盖OnPaint()以绘制数字和am / pm指示符。您将需要在矩形内部绘制的TextRenderer.DrawText()重载以使数字居中。在中心画一条黑线。

应该很有趣。