• ベストアンサー

C#で時計を作るには?

時間の取得の仕方はわかったのですが、 壁掛け時計のようなものが作れません。 どのように作ればいいか教えてください。 当方プログラミング初心者です。 使用ソフトはVisual C# 2005 Express Edition です。

質問者が選んだベストアンサー

  • ベストアンサー
  • shobon
  • ベストアンサー率66% (14/21)
回答No.2

Timerコントロールは、時間を取得するためではありません。 一定のタイミングでイベントを発生してもらうためにあります。(ここでは1秒毎にイベントを発生してもらって、1秒毎に針を刻んでもらう事にしました) 現在時間の取得は、Date.Now()を使用して取得します。 上の二つが理解できれば、後はイベントが発生する毎に 「秒針=現在の秒数×6度」 「分針=現在の分数×6度+α」 「時針=現在の時数×30度+Β」 の角度でDrawLineしてやれば良いだけです。 さらに慣れてきたらThreadを用いて、別のアプローチから針の移動を実現する事も可能でしょうが、ここでは一旦割愛します。

phantom_cr
質問者

お礼

アドバイスありがとうございました! おかげで完成しました。 オブジェクト言語に早く慣れたいと思います。

その他の回答 (2)

回答No.3

.NET(C#)で時刻を扱う場合はDateTime構造体(System.DateTime)を使います。 DateTime構造体のstaticプロパティNowで現在時刻を取得できます。 DateTime time = DateTime.Now; int h = time.Hour; int m = time.Minute; int s = time.Second; でどうでしょうか?

参考URL:
http://msdn2.microsoft.com/ja-jp/library/system.datetime_members.aspx
phantom_cr
質問者

お礼

アドバイスありがとうございます。 おかげで完成させることができました

  • shobon
  • ベストアンサー率66% (14/21)
回答No.1

質問が大雑把過ぎます。 なので、とりあえずまったく何もわからないと仮定しておきます。 まず、Windowsアプリケーションで、デジタル時計を作成する事を考えてみましょう。 新規フォームを用意して、Timerコントロール、Labelコントロールをセットします。 Timerコントロールで1秒毎にイベントを発生させます。 発生させたイベントの中で、Labelコントロールに現在の値を表示させるよう、設定します。 これでとりあえずそれっぽいものが完成するはずです。 後は、そこをベースに改良したい点を考えて、そのためにはどうすればいいかを考えてください。 以上です。 また、上の内容でわからないところがあったら、具体的にどこで引っかかってるのかを書いて、また質問してください。

phantom_cr
質問者

補足

アドバイスありがとうございます。 言葉足らずですいません。 自分が作りたいのはアナログ式の時計です 針を表示させるまではできたのですが Timerコントロールから時間の取得を行い 秒針/短針/長針で現在の時間を表示できるようになりますか? 針はDrawLineで書いています

関連するQ&A

  • C言語の違いについて

    同人でファイナルファンタジータクティクス(戦闘は立体的な3Dマップで行われる)のようなシミュレーションロールプレイングゲームを作ろうと思っています。 プログラムは初心者だったので、まず一番基本といわれているC言語を一通り勉強しました。 これから少し実践的にゲームプログラミングをしてみたいと思っていて、無料のVisual Studio 2008 Express editionをダウンロードすることにしましたが、内容が、 Visual Web Developer 2008 Express Edition Visual Basic 2008 Express Edition Visual C# 2008 Express Edition Visual C++ 2008 Express Edition と四つあります。上記のようなゲームプログラミングをするにはどれが最適なのでしょうか? C# か C++ と聞いたことがあるのですが何せ初心者ですので詳しいことがわかりません。 どなたか詳しい方がいましたら、簡単にで結構ですので四つの違いを説明して、どれが最適なのかお教えいただけませんでしょうか?よろしくお願いします。

  • PCにインストールしているプログラムのコードを開くには

    プログラミング初心者なのですが、PCにインストールしているプログラム(アプリケーション)のコードを開くには、どうすればいいのでしょうか。 ちなみに現在 Microsoft Visual Basic 2008 Express Edition とMicrosoft Visual C++ 2008 Express Edition をインストールしていますが、どうやったらいいか分かりません。上記で無理なら、適切なプログラミング言語やソフトを紹介してください。

  • Visual C++ 2005 Express Editionについて

    最近プログラミングの勉強を始め、「Visual C++ 2005 Express Edition」を使っています。 ネットなどで検索し、このソフトがお勧めと書いていたので使っているのですが、CとC++の違いがよくわかりません。 このふたつにはどのような違いがあるのでしょうか。また、両方とも今使っているソフトで扱うことができるのでしょうか。 そのことについて教えてほしいです。 よろしくお願いします。

  • Visual C++とC++の違いとは?

    プログラミング初心者です。これからC++をやろうと思っています。 そこで、いろいろ調べたところ、WindowsでやるにはVisual C++を使うのが良さそうだという結論に至りました。というか、それ以外にコンパイルの仕方がわかりません。ここで不安なのが、Visual C++を使用して描いたプログラムは、MacやLinuxでも動くのでしょうか? C++の初心者用の本は一冊買ったのですが、Visual C++についてはほんの2ページくらいしか書いていなく、ウェブ上で見たVisual C++のサイトでは、本に書いてあるものと若干プログラムの書き方(文法?)が違っていました。ということは普通のC++ではないのかな?と感じ、また、Windowsでしか動かないのでは、と思ったので質問させていただきました。 そうなら、もし他にVisual C++のようなソフトがあれば教えていただきたいです。

  • Visual C++ 2008 Express Edition が使えなくなった。

    Visual C++ 2008 Express Editionを開いたら、「Visual C++ 2008 Express Edition 製品の登録」と出てきて使うことが出来ません。 「今すぐ登録」をクリックして、Windows Live ID は取得したのですが、登録キーの取得が出来ません。Windows Live IDでMicrosoftサイトにサインインしても、画面中程の読み込みが終わらなくて、何もできませんでした。どうしたらVisual C++ 2008 Express Editionが使えるようになるでしょうか?

  • visual basic 2008 express editionの使い方

    Basicプログラミングをやりたいと思いvisual basic 2008 express editionをインストールしたんですが、、、使い方がまったくわかりません。私は、プログラミング初心者なので、visual basic 2008 express editionの使い方が詳しくのっているサイトなんかが、あればおしえてください。おねがいします。

  • プログラミングソフト

    今、プログラミングの勉強をしています。 ソフトはVisual Basic 2008 Express Edition なんですけどもうすこし他の言語をしてみたいと思っています。 C#とかC++とかありますが、Visual Basic の次に簡単で無料なものがあったらお願いします。

  • visual studio 2005でC言語は学べるのか?

    こんばんは。 プログラミングを学ぼうと考えている素人です。 visual studio 2005 academic editionというソフトでC言語を学ぼうと思ったのですが、中に入っているソフトがCではなく、C#でした。 調べてみると、CとC#は違う様で(具体的に何が違うは分かりませんでしたが)、 C言語が学べるのか不安になって質問しました。 visual studio 2005でもC言語を使用することは可能なのでしょうか? 陳腐な質問ですが、何卒よろしくお願いいたします。

  • visual c# 困っています(>_<)

    プログラミング初心者です。 プログラム自体も全くの素人です。 恥ずかしいのですが… Visual C# 2005 [実践]プログラミングテクニック Visual C# 2005 Express Edition入門 をやっと理解できた程度です。 visual studio 2005 C#上で以下のことはどうやったらできるでしょうか。分からなくて困っています。 (1)表を使い、入力した単語を列と行に自動的に分ける。   白 黒 赤  白 黒 赤 (2)該当する単語に1、該当しない単語に0を自動的に割り当てる。   白 黒 赤  白 1 0 0 黒 0 1 0 赤 0 0 1 DataTableを使ってやるのでしょうか? セル?を使ってやるのでしょうか? どうやって実装すればいいのかわかりますか? よろしくお願い致します(>_<)  

  • Visual C++ 2008 Express EditionでCのコンパイルは可能ですか?

    Visual C++ 2008 Express Editionを使いプログラムをC++で書いていたのですが、 Cで書かなくては駄目な状況になりVisual C++ 2008 Express Edition でもCのコンパイルが出来るのかを教えて貰いたいです。 試してみたところ出来そうになくて困っています。 Visual C++ 2008 Express Editionの導入方法は以下のURLの通りにしました。 http://www.microsoft.com/japan/msdn/vstudio/express/beginners/2008/visualc.aspx なにか追加で入れる事で使える様になるのか、もしくは出来ないのかよろしくお願いします。

専門家に質問してみよう