5

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

理想情况下,它看起来像 BlackBerry Bold 上的那种:

替代文字 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;
4

3 回答 3

4

这对于 winforms 来说有点不合适,其主要目的是向 .Net 公开通用控件,以帮助开发人员构建使用“标准”外观和感觉的 Windows 应用程序。这并不意味着您不会找到,而是您应该首先在这里考虑第 3 方。微软提供的任何东西充其量只是事后的想法。

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

于 2010-05-19T18:47:09.243 回答
4

伴随着 Joel 的回答,这里有一个简单的 WPF答案

于 2010-05-19T19:16:19.810 回答
3

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

应该很好玩。

于 2010-05-19T19:58:59.773 回答