-1

WinForms に機能を追加して、開始時にカウンターが hh:mm で開始されるようにしたいと考えています。これはタイマーを使用して実行できることを知っています。現在の時刻を表示するタイム ラベルを作成しましたが、フォームが読み込まれたときにタイマーを開始する方法がわかりません。そのためのメソッドまたはクラスはありますか?

4

2 に答える 2

2

コンポーネントをフォームに配置Timerします(ツールボックスからドラッグします。フォームが閉じたときに正しく破棄されるようにタイマーをフォームのコンポーネントとして登録する必要があるため、これは重要です)。タイマーのIntervalプロパティを60000(1分に等しい)に設定します。そして、イベントを購読しTickます:

void timer1_Tick(object sender, EventArgs e)
{
    if (endTime < DateTime.Now)
    {
       MessageBox.Show("Time is out!");
       timer1.Stop();
       return;
    }

    timeLabel.Text = (endTime - DateTime.Now).ToString(@"hh\:mm");
}

Form_Loadイベントハンドラーでタイマーを開始し、カウントダウンの終了時間を保存します

private DateTime endTime; // field to store end time

void Form1_Load(object sender, EventArgs e)
{
    endTime = DateTime.Now.AddMinutes(120); // set countdown to 120 minutes
    timer1.Start();
}
于 2013-01-29T10:50:47.843 に答える
1

タイマーの作成は非常にシンプルで簡単です。

Timer t1 = new Timer(); 
t1.Interval = 100; 
t1.Tick+=new EventHandler(t1_Tick);
t1.Start();

void t1_Tick(object sender, EventArgs e)
{

}

詳細については、 http://msdn.microsoft.com/en-us/library/system.timers.timer( v=vs.80 ).aspx を参照してください。

于 2013-01-29T10:42:12.220 に答える