我可以将变量 ByRef 传递给 vb.net 中的计时器事件吗?
Can I Pass a variable ByRef to a timer event in vb.net?
我想设置一个变量的值一段时间。即 myVar = 1 持续 20 毫秒,然后返回 0。我使用计时器实现了这个,但我能做到的唯一方法是为每个变量设置一个单独的计时器。
我想要一个计时器,我可以通过引用或类似的方式传递持续时间和变量。
我可以将变量 ByRef 传递给 vb.net 中的计时器事件吗?或者具有类似功能的东西?
这似乎有效。但我需要添加一个免责声明,我只是以一种非常简单的方式对其进行了测试,并没有检查内存泄漏等
将此子添加到您的代码中..
Public Sub SetVar(ByRef variable As Integer, value As Integer, msDuration As Integer)
variable = value
Thread.Sleep(msDuration)
variable = 0
End Sub
每次您想为某个时间段的变量设置一个值时,将其插入到您想要更改值的位置..
Dim t As New Task(Sub()
SetVar(a, 100, 2000)
End Sub)
t.Start()
我想设置一个变量的值一段时间。即 myVar = 1 持续 20 毫秒,然后返回 0。我使用计时器实现了这个,但我能做到的唯一方法是为每个变量设置一个单独的计时器。
我想要一个计时器,我可以通过引用或类似的方式传递持续时间和变量。
我可以将变量 ByRef 传递给 vb.net 中的计时器事件吗?或者具有类似功能的东西?
这似乎有效。但我需要添加一个免责声明,我只是以一种非常简单的方式对其进行了测试,并没有检查内存泄漏等
将此子添加到您的代码中..
Public Sub SetVar(ByRef variable As Integer, value As Integer, msDuration As Integer)
variable = value
Thread.Sleep(msDuration)
variable = 0
End Sub
每次您想为某个时间段的变量设置一个值时,将其插入到您想要更改值的位置..
Dim t As New Task(Sub()
SetVar(a, 100, 2000)
End Sub)
t.Start()