【发布时间】:2012-08-31 14:07:49
【问题描述】:
我有一个按钮,上面写着音乐开/关。
使用以下Console.Beep() 代码:
private void button1_Click(object sender, EventArgs e)
{
Console.Beep(659, 125);
Console.Beep(659, 125);
Thread.Sleep(125);
Console.Beep(659, 125);
Thread.Sleep(167);
Console.Beep(523, 125);
Console.Beep(659, 125);
Thread.Sleep(125);
Console.Beep(784, 125);
Thread.Sleep(375);
Console.Beep(392, 125);
Thread.Sleep(375);
Console.Beep(523, 125);
Thread.Sleep(250);
Console.Beep(392, 125);
Thread.Sleep(250);
Console.Beep(330, 125);
Thread.Sleep(250);
Console.Beep(440, 125);
Thread.Sleep(125);
Console.Beep(494, 125);
Thread.Sleep(125);
Console.Beep(466, 125);
Thread.Sleep(42);
Console.Beep(440, 125);
Thread.Sleep(125);
Console.Beep(392, 125);
Thread.Sleep(125);
Console.Beep(659, 125);
Thread.Sleep(125);
Console.Beep(784, 125);
Thread.Sleep(125);
Console.Beep(880, 125);
Thread.Sleep(125);
Console.Beep(698, 125);
Console.Beep(784, 125);
Thread.Sleep(125);
Console.Beep(659, 125);
Thread.Sleep(125);
Console.Beep(523, 125);
Thread.Sleep(125);
Console.Beep(587, 125);
Console.Beep(494, 125);
Thread.Sleep(125);
Console.Beep(523, 125);
Thread.Sleep(250);
Console.Beep(392, 125);
Thread.Sleep(250);
Console.Beep(330, 125);
Thread.Sleep(250);
Console.Beep(440, 125);
Thread.Sleep(125);
Console.Beep(494, 125);
Thread.Sleep(125);
Console.Beep(466, 125);
Thread.Sleep(42);
Console.Beep(440, 125);
Thread.Sleep(125);
Console.Beep(392, 125);
Thread.Sleep(125);
Console.Beep(659, 125);
Thread.Sleep(125);
Console.Beep(784, 125);
Thread.Sleep(125);
Console.Beep(880, 125);
Thread.Sleep(125);
Console.Beep(698, 125);
Console.Beep(784, 125);
Thread.Sleep(125);
Console.Beep(659, 125);
Thread.Sleep(125);
Console.Beep(523, 125);
Thread.Sleep(125);
Console.Beep(587, 125);
Console.Beep(494, 125);
Thread.Sleep(375);
Console.Beep(784, 125);
Console.Beep(740, 125);
Console.Beep(698, 125);
Thread.Sleep(42);
Console.Beep(622, 125);
Thread.Sleep(125);
Console.Beep(659, 125);
Thread.Sleep(167);
Console.Beep(415, 125);
Console.Beep(440, 125);
Console.Beep(523, 125);
Thread.Sleep(125);
Console.Beep(440, 125);
Console.Beep(523, 125);
Console.Beep(587, 125);
Thread.Sleep(250);
Console.Beep(784, 125);
Console.Beep(740, 125);
Console.Beep(698, 125);
Thread.Sleep(42);
Console.Beep(622, 125);
Thread.Sleep(125);
Console.Beep(659, 125);
Thread.Sleep(167);
Console.Beep(698, 125);
Thread.Sleep(125);
Console.Beep(698, 125);
Console.Beep(698, 125);
Thread.Sleep(625);
Console.Beep(784, 125);
Console.Beep(740, 125);
Console.Beep(698, 125);
Thread.Sleep(42);
Console.Beep(622, 125);
Thread.Sleep(125);
Console.Beep(659, 125);
Thread.Sleep(167);
Console.Beep(415, 125);
Console.Beep(440, 125);
Console.Beep(523, 125);
Thread.Sleep(125);
Console.Beep(440, 125);
Console.Beep(523, 125);
Console.Beep(587, 125);
Thread.Sleep(250);
Console.Beep(622, 125);
Thread.Sleep(250);
Console.Beep(587, 125);
Thread.Sleep(250);
Console.Beep(523, 125);
Thread.Sleep(1125);
Console.Beep(784, 125);
Console.Beep(740, 125);
Console.Beep(698, 125);
Thread.Sleep(42);
Console.Beep(622, 125);
Thread.Sleep(125);
Console.Beep(659, 125);
Thread.Sleep(167);
Console.Beep(415, 125);
Console.Beep(440, 125);
Console.Beep(523, 125);
Thread.Sleep(125);
Console.Beep(440, 125);
Console.Beep(523, 125);
Console.Beep(587, 125);
Thread.Sleep(250);
Console.Beep(784, 125);
Console.Beep(740, 125);
Console.Beep(698, 125);
Thread.Sleep(42);
Console.Beep(622, 125);
Thread.Sleep(125);
Console.Beep(659, 125);
Thread.Sleep(167);
Console.Beep(698, 125);
Thread.Sleep(125);
Console.Beep(698, 125);
Console.Beep(698, 125);
Thread.Sleep(625);
Console.Beep(784, 125);
Console.Beep(740, 125);
Console.Beep(698, 125);
Thread.Sleep(42);
Console.Beep(622, 125);
Thread.Sleep(125);
Console.Beep(659, 125);
Thread.Sleep(167);
Console.Beep(415, 125);
Console.Beep(440, 125);
Console.Beep(523, 125);
Thread.Sleep(125);
Console.Beep(440, 125);
Console.Beep(523, 125);
Console.Beep(587, 125);
Thread.Sleep(250);
Console.Beep(622, 125);
Thread.Sleep(250);
Console.Beep(587, 125);
Thread.Sleep(250);
Console.Beep(523, 125);
Thread.Sleep(625);
}
我的问题是如何告诉按钮在再次单击时关闭音乐,然后在再次单击时重新打开音乐等等。
【问题讨论】:
-
将所有值存储在一个数组中,使用 for 循环重写代码,如果设置了标志,则检查循环。然而,这意味着您的代码在非 ui 线程中运行。
-
(这是超级马里奥兄弟主题曲...排序)
-
是的...只是让我所有的同事都看着我:D
-
一些注释已关闭(显然比编程方面更重要)
-
任何带有完整源代码示例的最终解决方案?