2010-05-19 33 views
4

對於.NET(Winforms)應用程序,是否有任何翻轉時鐘控件?.NET - 有沒有翻轉時鐘控件?

理想的情況下它看起來有點像一個在黑莓Bold發現:

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

更新1:

在此之後SO鏈接我添加的元素主機我的項目主持@Shane提到的WPF反向鎖。

更新2:

我隨後的幾個步驟:

  • 編譯RetroClock
  • 添加DLL參照winform應用程序
  • 添加 '使用WPFControls.Clocks;'
  • 增加 'ElementHost的' 以表格
  • 在窗體的Load事件中添加:

    //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

與喬爾的答案一起,有一個簡單的WPF here

+0

謝謝 - 我已決定嘗試在我的Winform應用程序中託管它。 – 2010-05-20 12:53:22

4

這將是一個有點不合適了的WinForms,主點,這是爲了暴露公共控件.NET來幫助開發人員構建使用「標準」外觀的windows應用程序。這並不意味着你不會找到一個,但是你應該首先考慮第三方。微軟提供的任何東西最多隻能是事後考慮。

另一方面,WPF更適合這種事情。

2

自己做一個很容易。添加一個類,從Control派生它。你需要一個Timer來保持它的行爲,讓它的Tick方法調用Invalidate()。重寫OnPaint()以繪製數字和am/pm指示符。您需要在矩形內繪製TextRenderer.DrawText()重載以獲取數字居中。在中心畫一條黑線。

應該很有趣。

+0

有趣的,直到老闆問你爲什麼要建一個鐘......:) – 2010-05-20 12:54:17