如何在按钮单击时启动循环,然后再次单击相同的按钮停止它

时间:2013-11-27 17:37:02

标签: c# loops button

好的,这是我第二次在这里发帖,很抱歉,如果这个问题已经得到解答,我就找不到任何内容。

所以基本上我有一个按钮,当我按下它时我想要开始一个循环,然后我想让循环不断重复,直到再次按下相同的按钮,我一直试图弄清楚这一段时间,我似乎无法让这个工作。

所以在循环中,程序正在改变几个图片框内的图像,我希望程序继续循环更改图像,直到点击相同的按钮

感谢您的帮助:)

如果您需要更多信息,请告诉我

编辑:

    private void btnDance_Click(object sender, EventArgs e)
    {
        bool clicked;
        if (clicked == true)
        {
            timer1.Stop();
        }
        else
        {
            clicked = true;
            timer1.Start();
        }
    }

3 个答案:

答案 0 :(得分:2)

您可能想要使用Timer。只需将其中一个从工具箱中拖放到表单上,然后在按下按钮时启动/停止它。为Tick事件创建处理程序并在其中执行图像交换。

答案 1 :(得分:2)

思考事件驱动...在表单上放置一个计时器。在tick事件中做你的工作。然后只需按钮切换定时器是否处于活动状态......

    private void timer1_Tick(object sender, EventArgs e)
    {
        // Change your image here
    }

    private void button1_Click(object sender, EventArgs e)
    {
        // Toggle the timer's enabled state
        timer1.Enabled = !timer1.Enabled;
    }

答案 2 :(得分:0)

可能有多种方式:

  1. 使用事件信号实现暂停 - 恢复模式(例如,参见this post

  2. 保留一个本地bool变量(在每次迭代中检查它 - break如果为真,并在按下按钮为真后更新它。

  3. 或计时器(如建议的那样)