您好我正在为Windows mobile创建一个简单的闹钟,而我的闹钟类没有按预期触发。这是我的代码:
public void AddAlaram()
{
Alarm alarm = new Alarm("Wakeup");
alarm.Content = ("Time to wake up!");
alarm.BeginTime = DateTime.Now.AddSeconds(5);
alarm.ExpirationTime = DateTime.Now.AddHours(alarmHours);
alarm.Sound= new Uri("/Resources/GoodMorning.wav",UriKind.Relative);
ScheduledActionService.Add(alarm);
}
我对编程很新。我的布局是我制作了一个列表框,其中包含1到24个可滚动的项目。然后我将警报设置为
int alarmHours = 0;
if(_1.IsSelected)
{
alarmHours = 1;
}
依此类推等等(我知道很长且不必要,但我不知道如何优化那个atm)。
所以我的理解是,如果选择例如6,那么警报到期时间应该是现在的时间+ 6小时。但是当我运行模拟器时,它会在几秒钟后发射。
哦,这是代码的下一行,它是我点击添加警报按钮时出现的弹出窗口的计时器。我觉得这是弄乱的,但我不知道怎么办?
AlarmPopup.IsOpen = true;
System.Windows.Threading.DispatcherTimer timer = new System.Windows.Threading.DispatcherTimer();
timer.Interval = new TimeSpan(0, 0, 0, 3, 0);
timer.Tick += tick;
timer.Start();
任何帮助将不胜感激。谢谢!
答案 0 :(得分:1)
您已将闹钟设置为在5秒后熄灭:
alarm.BeginTime = DateTime.Now.AddSeconds(5);
BeginTime是警报触发的时间。 ExpirationTime是警报到期的时间。这对于重复发生的警报很有用,例如:如果我想让警报每天都停止,但仅限于接下来的5天,那么我应该将ExpirationTime设置为5天后。