ross_liu 2019-01-12 18:25 采纳率: 20%
浏览 772
已采纳

vb.net如何在timer里面增加click事件

产线生产,每个产品之间必须隔20秒。防止作业时间太短;
我先写了一个click,每次都click一下。如果button是绿色就代表超过了20秒
可以刷产品了;红色代表没有超过20秒还不能刷;
以上的代码已经写出来了;
我想增加一个timer。来实时监控这个产品是否间隔20秒。这个问题还没解决。
请大神帮忙解决!!非常感谢

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-01-12 20:37
    关注

    <- 如果问题得到解决,请点我回答左上角的采纳和向上的箭头,谢谢

    Public Class Form1
    
        Private span As Integer = 3 '间隔时间3秒,这是为了演示方便,实际你修改为20
        Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
            For Each btn As Button In Controls.OfType(Of Button)()
                Dim dt1 = CType(btn.Tag, DateTime)
                Dim dt2 = DateTime.Now
                If (New TimeSpan(dt2.Ticks - dt1.Ticks).TotalSeconds > span) Then
                    btn.BackColor = Color.Green
                    btn.Enabled = True
                Else
                    btn.BackColor = Color.Red
                    btn.Enabled = False
                End If
            Next
        End Sub
        Private Sub btnClick(sender As Object, e As EventArgs)
            CType(sender, Button).Tag = DateTime.Now
            CType(sender, Button).Enabled = False
        End Sub
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            For Each btn As Button In Controls.OfType(Of Button)()
                btn.Tag = DateTime.Now.AddSeconds(-span)
                AddHandler btn.Click, AddressOf btnClick
            Next
        End Sub
    End Class
    
    

    图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?