制作具有多个闹钟时间的闹钟
问题描述:
我想制作一个可编程的闹钟。它应该在不同的时刻输出一个旋律(.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();
}
答
您需要在每次报警时间为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 };
}
答
我认为的问题是,您使用的是同一个定时器三种不同的事件,改变了三次的设置。这导致只使用最终设置 - 旧设置不被记住 - 它们被覆盖。
解决方案是为每个事件创建一个新的计时器,每个计时器都有自己独立的设置。
我不明白你的问题。你能更清楚一点吗? – 2010-11-19 20:38:08
你想多次做什么?在不同的控件中同时显示它们?把它们连在一起? – CodesInChaos 2010-11-19 20:40:32
我不太清楚我的理解,你能发表更多的代码吗?例如,suna1()和suna2()中的内容是什么? – Brosto 2010-11-19 20:40:49