VB.Net定时器。勾选不触发

VB.Net定时器。勾选不触发,vb.net,timer,Vb.net,Timer,当某些条件为真时,我试图在状态栏上显示消息30秒。出于某种原因,启用计时器时,Timer.Tick事件没有运行,我相当确定我在Tick子节点上缺少了一些内容,但无法找到它 这是我的密码: Dim StatusSecondsPassed As Integer = 0 Dim StatusTimer As New Timer() Dim StatusTextField As New ToolStripStatusLabel Public Function WriteSta

当某些条件为真时,我试图在状态栏上显示消息30秒。出于某种原因,启用计时器时,Timer.Tick事件没有运行,我相当确定我在Tick子节点上缺少了一些内容,但无法找到它

这是我的密码:

  Dim StatusSecondsPassed As Integer = 0
    Dim StatusTimer As New Timer()
  Dim StatusTextField As New ToolStripStatusLabel


    Public Function WriteStatus(SS As String)


        If StatusTimer.Enabled = True Then
            StatusTimer.Enabled = False
        End If


        StatusSecondsPassed = 0

        StatusTimer.Interval = 1 * 1000

        StatusTimer.Enabled = True

        Return SS
    End Function

    Public Sub StatusTimer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs)

        Dim cMain_Form As Main_Form

        StatusSecondsPassed += 1

        If StatusSecondsPassed = 30 Then
            cMain_Form.StatusTextBox.Text = ""
        End If


    End Sub

有什么想法吗?我尝试将句柄放在勾号子项的末尾,但如果我将句柄放在StatusTimer上,则会生成错误。勾号

您需要处理事件:

AddHandler StatusTimer.Tick, AddressOf StatusTimer_Tick
这一行表示,无论何时发生勾号事件,都将调用您的sub

但是,如果要使用原因句柄,则必须按以下方式声明计时器:

Dim WithEvents StatusTimer As New Timer()

'And your sub
Public Sub StatusTimer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StatusTimer.Tick
但是,此方法不允许删除关联。使用AddHandler子句,您可以通过以下操作删除事件侦听器:

RemoveHandler StatusTimer.Tick, AddressOf StatusTimer_Tick

您需要处理该事件:

AddHandler StatusTimer.Tick, AddressOf StatusTimer_Tick
这一行表示,无论何时发生勾号事件,都将调用您的sub

但是,如果要使用原因句柄,则必须按以下方式声明计时器:

Dim WithEvents StatusTimer As New Timer()

'And your sub
Public Sub StatusTimer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StatusTimer.Tick
但是,此方法不允许删除关联。使用AddHandler子句,您可以通过以下操作删除事件侦听器:

RemoveHandler StatusTimer.Tick, AddressOf StatusTimer_Tick

再次感谢超级皮努特!这不是你第一次帮我了!或者您需要声明上的事件来启用处理程序上的句柄。@在您的注释之后,Enigmatity更新了答案再次感谢SuperPeanut!这不是你第一次帮我了!或者您需要声明上的事件来启用处理程序上的句柄。@Enigmativity在您对否决票的评论之后更新了答案,然后没有对需要改进的内容发表评论…–1用于留下抱怨否决票的评论。否决一个问题没有什么不公平的;任何人都没有义务发表评论。否决票有点不公平,然后对需要改进的地方不予评论…-1感谢发表抱怨否决票的评论。否决一个问题没有什么不公平的;任何人都没有义务发表评论。