vb.net - 如何延迟在列表框中添加项目 vb.net
问题描述
我在 vb.net 中使用 for、while 和 do while 循环在列表框中添加一些值。我想使用计时器来延迟向列表框添加值。请告诉语法,我应该使用什么&以下是我的代码:
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim a As Integer
For a = 1 To 10
ListBox1.Items.Add(a)
End If
Next
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim b As Integer
b = 4
If b < 5 Then
MessageBox.Show("eRROR")
End If
While b <= 3
ListBox2.Items.Add(b)
b = b + 1
End While
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Dim c As Integer
c = 20
Do
c = c + 1
ListBox3.Items.Add(c)
Loop While c <= 30
End Sub
Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
End Class
解决方案
计时器每n毫秒执行一次,您可以通过处理计时器的Tick 事件来利用这一点。如果您想跟踪您正在进行的增量,请在 Tick 事件的范围之外(请参阅此处)声明一个私有变量,或者在 Tick 事件内声明一个静态变量。
私有变量:
Private counter As Integer = 0
Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As EventArgs) Handles Timer1.Tick
counter += 1
If (counter < 31) Then
ListBox1.Items.Add(counter)
Else
Timer1.Stop()
End If
End Sub
静态变量:
Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As EventArgs) Handles Timer1.Tick
Static counter As Integer = 0
If (counter < 31) Then
counter += 1
ListBox1.Items.Add(counter)
Else
Timer1.Stop()
End If
End Sub
推荐阅读
- html - 删除缩进并将所有 html 放在一行中
- python - docker中cmp指令的python解释器分段错误
- realm - 领域不会删除对象
- ember.js - 带有新版 ember js 的粘性聊天框
- javascript - Javascript递归向前和向后计数
- reactjs - 使用打字稿和验证重用输入组件
- java - 为什么流程一开始没有进入基类构造函数?
- ios - 如何以编程方式生成一个空的 UIimage 视图
- javascript - 基于点击事件的传单多个弹出窗口
- stripe-payments - Stripe paymentIntent vs Subscription?