如何在C#windows窗体应用程序中设置button_click的时间间隔

时间:2012-03-21 06:49:09

标签: c# windows-forms-designer

这里下面的代码使得并行端口中的特定位为高。如何设置windows窗体中按钮单击的时间间隔。如果我将时间间隔设置为2秒,则计时器应该开始,然后2秒后它应该开始自动停止。

 private void button1_Click(object sender, EventArgs e)
    {

        PortAccess.Output(888,1);

    }

请您告诉我任何建议或示例。点击此按钮。点击。

1 个答案:

答案 0 :(得分:2)

所以你只想在2秒后清除这个位?这样的事情应该有效:

private void button1_Click(object sender, EventArgs e)
{
    // Prevent multiple button clicks
    button.Enabled = false;
    PortAccess.Output(888, 1);
    Timer timer = new Timer { Interval = 2000 };
    timer.Tick += HandleTimerTick;
    timer.Start();
}

private void HandleTimerTick(object sender, EventArgs e)
{
    Timer timer = (Timer) sender;
    timer.Stop();
    timer.Dispose();
    button.Enabled = true;
    PortAccess.Output(888, 0);
}

您可能会发现将计时器设置一次更简单,并将其存储为实例变量。然后,您可以附加Tick事件并在构造上设置间隔,并将其添加到表单的组件中,以便自动处理。那么你的方法就是:

private void button1_Click(object sender, EventArgs e)
{
    button.Enabled = false;
    PortAccess.Output(888, 1);
    timer.Start();
}

private void HandleTimerTick(object sender, EventArgs e)
{
    timer.Stop();
    button.Enabled = true;
    PortAccess.Output(888, 0);
}