动态创建计时器并添加唯一名称VB.net

时间:2016-03-23 14:40:21

标签: vb.net

好的, 我知道如何创建按钮并为它们提供每个唯一的名称来访问它们

我这样做

 Dim btnName As String
    Dim x As Short

    For i As Short = 1 To 3
        btnName = "button" & CStr(i)


        x += 3
        Dim button1 As New Button


        button1.Name = btnName
        Me.Controls.Add(button1)
        button1.Location = New Point(10, x * 10)
        button1.Text = "Hello" & i

    Next

当我尝试创建一个计时器时,我不能像上面的按钮

那样给它一个名字
        btnName = "button" & CStr(i)
        button1.Name = btnName

所以我不知道如何访问它们和/或激活它们。 我想创建三个计时器,并将其命名为" timer1"," timer2"," timer3"

我如何实现这一目标?

2 个答案:

答案 0 :(得分:1)

'这是一个在点击按钮上启动计时器的表单代码

  Public Class Form1
     Dim t1 As Timer
     Dim t2 As Timer
     Dim t3 As Timer

    Private Sub btnT1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnT1.Click
       'on btn click start timer1
        t1 = New Timer        
        t1.Tag = DateTime.Now
        AddHandler t1.Tick, AddressOf MyTickHandler
        t1.Start()
    End Sub

   Private Sub btnT2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnT2.Click
        'on btn click start timer2
        t2 = New Timer        
        t2.Tag = DateTime.Now
        AddHandler t2.Tick, AddressOf MyTickHandler
        t2.Start()
    End Sub

  Private Sub btnT2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnT3.Click
        'on btn click start timer3
        t3 = New Timer        
        t3.Tag = DateTime.Now
        AddHandler t3.Tick, AddressOf MyTickHandler
        t3.Start()
    End Sub

    Sub MyTickHandler(ByVal sender As Object, ByVal e As EventArgs)
        dim t As Timer = DirectCast(sender, Timer)
        dim timerString = "The timer started at " & t.Tag.ToString & " just ticked..."
    End Sub

       Private Sub btnStopT1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStopT1.Click

             'stop timer1
              t1.Stop()
              t1.Dispose()   
   End Sub

     Private Sub btnStopT2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStopT2.Click

             'stop timer 2
              t2.Stop()
              t2.Dispose()   
   End Sub

   Private Sub btnStopT3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStopT3.Click

             'stop timer 3
              t3.Stop()
              t3.Dispose()   
   End Sub

End Class

Timer Class

答案 1 :(得分:0)

本教程可以帮助您创建计时器对象。

  

教程2:创建定时数学测验   Tutorial link

详细说明第3步可以解决问题。

  

步骤3:添加倒数计时器   Link to step 3

这篇文章展示了如何使用tick事件(从MSDN站点复制)

Private Sub Timer1_Tick() Handles Timer1.Tick

If timeLeft > 0 Then
    ' Display the new time left
    ' by updating the Time Left label.
    timeLeft -= 1
    timeLabel.Text = timeLeft & " seconds"
Else
    ' If the user ran out of time, stop the timer, show
    ' a MessageBox, and fill in the answers.
    Timer1.Stop()
    timeLabel.Text = "Time's up!"
    MessageBox.Show("You didn't finish in time.", "Sorry!")
    sum.Value = addend1 + addend2
    startButton.Enabled = True
End If