Не уверен, чего вы пытаетесь достичь, но следующий метод будет непрерывно циклически перемещаться по элементам данного ListBox, отображая значения в данном элементе управления Label, возвращаясь с самого начала, когда он достигнет конца, обновляя два раза в секунду (C # код):
private int _currentIndex = -1;
private void ShowNextItem(ListBox listBox, Label label)
{
// advance the current index one step, and reset it to 0 if it
// is beyond the number of items in the list
_currentIndex++;
if (_currentIndex >= listBox.Items.Count)
{
_currentIndex = 0;
}
label.Text = listBox.Items[_currentIndex].ToString();
// get a thread from the thread pool that waits around for a given
// time and then calls this method again
ThreadPool.QueueUserWorkItem((state) =>
{
Thread.Sleep(500);
this.Invoke(new Action<ListBox, Label>(ShowNextItem), listBox, label);
});
}
Назовите это так:
ShowNextItem(myListBox, myLabel);