我有一个标签,通过在点击事件中循环浏览列表框来确定其文本。如果没有及时按下按钮('x'秒),我想在列表框中有一个定时器循环(...来设置标签的文本)。
请帮助,所以失去了
答案 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