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

1mrurvl1  于 2023-03-03  发布在  .NET
关注(0)|答案(4)|浏览(149)

对于. NET(Winforms)应用程序,是否有翻转时钟控件?
理想情况下,它会看起来像黑莓Bold上的一个:
alt text http://images.crackberry.com/files/u3/reviewimages/blackberry9000c/lgclock3.jpg

    • 更新1:**

在这个SO链接之后,我向我的项目添加了一个元素宿主,以宿主@Shane提到的WPF retrocock。

    • 更新2:**

我遵循的几个步骤:

  • 编译倒计时
  • 添加对WinForm应用程序的DLL引用
  • 添加"使用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;
q5lcpyga

q5lcpyga1#

与Joel的答案沿着,WPF here也有一个简单的答案。

xurqigkl

xurqigkl2#

这对winforms来说有点不合适,它的主要目的是向.Net公开公共控件,以帮助开发人员构建使用“标准”外观和感觉的windows应用程序。这并不意味着你找不到一个,但你应该首先考虑第三方。微软提供的任何东西充其量都是事后诸葛亮。
另一方面,WPF更适合这类事情。

cld4siwp

cld4siwp3#

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

balp4ylt

balp4ylt4#

有一个免费的UIElement HandyControl由迈赫迪·侯赛尼https://marketplace.visualstudio.com/items?itemName=MahdiHosseini.HandyControls
希望能有所帮助。

相关问题