【问题标题】:Making an Alarm Clock with multiple alarm times制作具有多个闹钟时间的闹钟
【发布时间】:2010-11-20 04:48:02
【问题描述】:

我正在尝试制作一个可编程闹钟。它应该在不同的时间输出一段旋律(.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();
}

【问题讨论】:

  • 我不明白你的问题。能说清楚一点吗?
  • 你希望它对多次执行什么操作?同时在不同的控件中显示它们?一个接一个地倒数?
  • 我不太确定我是否理解,你能发布更多代码吗?例如,suna1() 和 suna2() 中的内容是什么?
  • 你的意思是“如何让自动控件刷新”?

标签: c#


【解决方案1】:

认为问题是您对三个不同的事件使用相同的计时器,将它的设置更改了三次。这会导致仅使用最终设置 - 旧设置不会被记住 - 它们会被覆盖。

解决方案是为每个事件创建一个新计时器,每个计时器都有自己独立的设置。

【讨论】:

    【解决方案2】:

    您需要为每个闹钟时间提供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 };
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-21
      • 2011-08-21
      相关资源
      最近更新 更多