2010-11-19 7 views
0

私はプログラム可能なアラームクロックを作りようとしています。別の瞬間にメロディー(.wav)を出力する必要があります。私はデジタル時計を作るためにユーザーコントロールを使いました。毎秒プログレスバーを表示するためのタイマーと、プロセスを開始するボタンがあります。私は私が欲しい時を正確に知っているので、他のボタンは必要ありません。私は必要な時を終えるところでいくつかの機能を作った。複数のアラーム時刻でアラームクロックを作成する

public void suna3() 
{ 
    userControl11.Ora = 01; 
    userControl11.Min = 37; 
    userControl11.Sec = 50; 
} 

ボタンクリックで私はそれらを呼び出しました。しかし、私がプログラムを始めると、私が作ったのは最後の時間(最後の機能)だけです。どのようにすれば、すべての機能を果たすことができますか?

private void button3_Click(object sender, EventArgs e) 
{ 
    userControl11.Activ = true; 
    suna1(); 

    userControl11.Activ = true; 
    suna2(); 
} 
+2

私はあなたの質問を理解していません。それをもっと明確にすることはできますか? –

+0

何回何回やってみたいですか?同時に複数のコントロールにそれらを表示しますか?お互いの後にそれらをカウントする? – CodesInChaos

+0

私は理解していません、もっとコードを投稿できますか?たとえば、suna1()とsuna2()には何が入っていますか? – Brosto

答えて

1

あなたは、各アラームの時間のためにusercontrolを必要とする、またはそれがでアラームをトリガーする回数の配列にとるようにユーザーコントロールを変更します。

複数usercontrolインスタンスの場合は、あなたのコードは次のようなものを見ることができる:

public void suna1() 
{ 
    userControl11.Ora = 02; 
    userControl11.Min = 27; 
    userControl11.Sec = 20; 
} 

//... 

public void suna3() 
{ 
    userControl13.Ora = 01; 
    userControl13.Min = 37; 
    userControl13.Sec = 50; 
} 

選択肢は変更することです、あなたのusercontrolので、それは時間のリストを受け付け、またはAddAlarm()方法を持っていること。このような何か:私は問題を考える

public void suna1() 
{ 
    userControl11.Alarms.Add(new Alarm() { Ora = 02, Min = 27, Sec = 20 }; 
    //or "userControl1.AddAlarm(2, 27, 20);" if you go the method route 
} 

//... 

public void suna3() 
{ 
    userControl11.Alarms.Add(new Alarm() { Ora = 01, Min = 37, Sec = 50 }; 
} 
2

は、あなたがそれ三回の設定を変更する3つの異なるイベントに同じタイマーを使用していることです。これにより、最終設定のみが使用されます。古い設定は記憶されず、上書きされます。

解決方法は、各イベントごとに別々の設定を持つ新しいタイマーを作成することです。

関連する問題