如何在vb.net中使按钮按下限制时间

时间:2018-10-12 17:51:21

标签: vb.net

当我按下按钮时我想要一个代码,然后按钮无法单击

再次运行24小时,然后在24小时之后再次可用按钮。

2 个答案:

答案 0 :(得分:0)

例如:

单击按钮时,禁用按钮并在其打勾时启动计时器(计时器应间隔24小时),启用按钮并停止计时器。

答案 1 :(得分:0)

正如上面的注释中已经提到的,有很多方法可以根据您的需要执行此操作。下面只是一个简单的示例,应该会有所帮助。

Private ButtonTimer As New Timer
Private ButtonCountDown As Integer

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    'Disable Button
    Button1.Enabled = False

    'Set Countdown
    ButtonCountDown = 24

    'Setup Timer
    AddHandler ButtonTimer.Tick, AddressOf ButtonTimer_Tick
    ButtonTimer.Interval = 1000 * 60 * 60 'Every 1 Hour
    ButtonTimer.Start()
End Sub

Private Sub ButtonTimer_Tick(ByVal obj As Object, ByVal e As EventArgs)

    'Decrement ButtonCountDown and if not zero we can just leave and do nothing.
    ButtonCountDown -= 1
    If Not ButtonCountDown = 0 Then Exit Sub

    'We have reached zero, stop timer and clean up.
    ButtonTimer.Stop()
    RemoveHandler ButtonTimer.Tick, AddressOf ButtonTimer_Tick
    ButtonTimer.Dispose()

    'Enable Button
    Button1.Enabled = True
End Sub

以下是重要的几行:

ButtonCountDown = 24
ButtonTimer.Interval = 1000 * 60 * 60 'Every 1 Hour

上面的示例将每小时检查一次计时器,从24秒(即24小时)开始倒计时。

出于测试目的,更改为分钟:

ButtonCountDown = 2
ButtonTimer.Interval = 1000 * 60 'Every 1 Minute

现在该按钮将禁用2分钟(每分钟检查一次计时器)。

出于测试目的,更改为秒:

ButtonCountDown = 20
ButtonTimer.Interval = 1000 'Every 1 Second

现在该按钮将禁用20秒(计时器每秒检查一次)。