5

.NET (Winforms) アプリケーションの場合、フリップ クロック コントロールはありますか?

理想的には、BlackBerry Bold に見られるようなものになります。

代替テキスト http://images.crackberry.com/files/u3/reviewimages/blackberry9000c/lgclock3.jpg

更新 1:

このSOリンクに続いて、@Shane が言及した WPF retroclockをホストするために、プロジェクトに要素ホストを追加しました。

更新 2:

私が従ったいくつかのステップ:

  • RetroClock をコンパイルする
  • WinForm アプリに DLL 参照を追加する
  • 'using WPFControls.Clocks;' を追加します。
  • 「elementHost」をフォームに追加
  • Form 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;
4

3 に答える 3

4

Joel の回答に沿って、WPF の簡単な回答がここにあります

于 2010-05-19T19:16:19.810 に答える
4

これは winforms にとっては少し場違いです。その主なポイントは、共通コントロールを .Net に公開して、開発者が「標準」のルック アンド フィールを使用する Windows アプリケーションを構築できるようにすることです。これは、見つからないという意味ではありませんが、ここではサードパーティを最初に考える必要があります. マイクロソフトが提供するものは、せいぜい後付けにすぎません。

一方、WPF は、この種の作業に適しています。

于 2010-05-19T18:47:09.243 に答える
3

自分で作るのはとても簡単です。クラスを追加し、Controlから派生させます。あなたはそれを続けるタイマーが必要であり、そのTickメソッドにInvalidate()を呼び出させます。OnPaint()をオーバーライドして、数字と午前/午後インジケーターを描画します。長方形の内側に描画するTextRenderer.DrawText()オーバーロードを使用して、数字を中央に配置する必要があります。中央に黒い線を引きます。

楽しくなるのは難しい。

于 2010-05-19T19:58:59.773 に答える