使用定时器循环

时间:2009-08-10 11:52:27

标签: vb.net

我有一个标签,通过在点击事件中循环浏览列表框来确定其文本。如果没有及时按下按钮('x'秒),我想在列表框中有一个定时器循环(...来设置标签的文本)。

请帮助,所以失去了

3 个答案:

答案 0 :(得分:1)

使用计时器控件并设置selectedindex。然后,您可以使用SelectedIndexChanged事件来处理新选择。

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

ListBox1.Items.Add("First Item")
ListBox1.Items.Add("Second Item")
ListBox1.Items.Add("Third Item")
ListBox1.Items.Add("Fourth Item")
ListBox1.SelectedIndex = 0

Timer1.Interval = 500
Timer1.Start()

End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

Dim i As Integer
i = ListBox1.SelectedIndex
i = i + 1
If i > ListBox1.Items.Count - 1 Then i = 0
ListBox1.SelectedIndex = i

End Sub

答案 1 :(得分:0)

尝试使用.net。!

中提供的定时器控件

定时器控件允许您设置特定的时间间隔,直到某些代码必须执行。

逐步说明如何使用计时器将文本添加到列表框中... http://www.ehow.com/how_4590003_program-timer-control-vbnet.html

另一个计时器控制教程供你阅读..

http://www.vbdotnetheaven.com/UploadFile/mahesh/TimerControl04262005033148AM/TimerControl.aspx

答案 2 :(得分:0)

我假设这是WinForms。我认为您应该做的是处理ListBox的SelectedIndexChanged事件以设置标签的文本,这比计时器更容易实现。

在表单的构造函数中,您可以拥有以下内容:

ListBox1.Items.Clear()
ListBox1.Items.Add(New KeyValuePair(Of Integer, String)(0, "Value-1"))
ListBox1.Items.Add(New KeyValuePair(Of Integer, String)(1, "Value-2"))
ListBox1.DisplayMember = "Value"
ListBox1.ValueMember = "Key"

然后你可以有一个方法来处理SelectedIndexChanged事件,如下所示:

Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
    If ListBox1.SelectedItem IsNot Nothing Then
        Label1.Text = ListBox1.SelectedItem.Value
    End If
End Sub