C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

日時表示とタイマー

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■91557 / inTopicNo.1)  日時表示とタイマー
  
□投稿者/ りり (1回)-(2019/07/05(Fri) 15:56:23)

分類:[C#] 

windowsフォームで下記のようなものを作りたいです。

   タイマー00:00:00表記   ←ラベル1
 スタート ストップ リセット ←ボタン1、2、3
      現在日時      ←ラベル2

現在日時の取得は出来るのですが、取得した時間が経過しません。
タイマーは動くのですが、リセットボタンを押下し、表示が0になっている事を確認して、再度スタートを押下するんですが、0からスタートではなくリセットした時間から再スタートしてしまいます。

フォームロード時に現在日時を表示→時計として機能させたい。
タイマーを機能させたい。

以上です。

当方初心者のため、ご教授いただけると幸いです。

引用返信 編集キー/
■91561 / inTopicNo.2)  Re[1]: 日時表示とタイマー
□投稿者/ 魔界の仮面弁士 (2224回)-(2019/07/05(Fri) 17:01:23)
No91557 (りり さん) に返信
> windowsフォームで下記のようなものを作りたいです。
>
>    タイマー00:00:00表記   ←ラベル1
>  スタート ストップ リセット ←ボタン1、2、3
>       現在日時      ←ラベル2
>
> 現在日時の取得は出来るのですが、取得した時間が経過しません。

Form のデザイン画面に timer コンポーネントを貼り、
Form のフィールドに Stopwatch 型の変数を用意します。



private System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();
private void Form1_Load(…
{
 timer1.Start();
}
private void スタート_Click(…
{
 timer1.Start();
}
private void ストップ_Click(…
{
 sw.Stop();
}
private void リセット_Click(…
{
 if(sw.IsRunning) { sw.Restart(); } else { sw.Reset(); }
}
private void timer1_Tick(…
{
 TimeSpan span = sw.Elapsed;
 ラベル1.Text = string.Format("{0}:{1:00}:{2:00}", (int)span.TotalHours, span.Minutes, span.Seconds);
 // ラベル1.Text = string.Format("{0}:{1:00}:{2:00}.{3:0000}", (int)span.TotalHours, span.Minutes, span.Seconds, span.Milliseconds);
 ラベル2.Text = DateTime.Now.ToString("F");
}
引用返信 編集キー/
■91567 / inTopicNo.3)  Re[2]: 日時表示とタイマー
□投稿者/ りり (2回)-(2019/07/05(Fri) 20:45:13)
ありがとうございますm(_ _)m
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ