2014-04-10 73 views
0

这是我的代码:我如何解决这与ListBox问题?

Private Sub StartToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As  System.EventArgs) Handles StartToolStripMenuItem.Click 
    Video1.Start() 
    Video1.Interval = 4000 
    ToolStripStatusLabel2.Text = "Browsing" 
End Sub 

Private Sub Video1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Video1.Tick 
    ToolStripStatusLabel4.Text += 1 
    ListBox1.SelectedIndex = rnd.Next(0, ListBox1.Items.Count - 1) 
    WebBrowser1.Navigate(ListBox1.SelectedItem) 
End Sub 

问题是可以说该定时器间隔设置为4个secods(4000)。我希望我的应用程序按顺序导航到我的ListBox中的每个项目:网站1,网站2,网站3等。但相反,它做到这一点:网站5,网站2,网站8,网站1.其导航到随机网站。

+0

一件事,怎么能DOEN所以当已经选择了最后一个项目的计时器,然后设置为停止,如即时得到一个错误说:ArgumentOutOfRange异常的“5” InvalidArgument = Value是对'SelectedIndex'无效。 – user3478700

回答

1

这是随机的原因似乎是因为您呼叫的随机数生成器,然后从列表框中选择该项目:

rnd.Next(0, ListBox1.Items.Count - 1) 

相反,你应该分配一个变量,你当前在它储存指标。每当计时器滴答时增加此值。

Private currentIndex As Integer = 0 

Private Sub Video1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs)  Handles Video1.Tick 
    ToolStripStatusLabel4.Text += 1 
    currentIndex += 1 
    ListBox1.SelectedIndex = currentIndex 
    WebBrowser1.Navigate(ListBox1.SelectedItem) 
End Sub 
+0

完美的作品。 – user3478700