在VB.net或C#中循环列表框并将值设置为标记文本?

时间:2009-06-16 21:55:58

标签: c# vb.net loops listbox

我有一个列表框控件中的项目,我想重复(当它到达最后一个,重复时)循环并将文本设置为标签。

我被困住了,请帮忙!

2 个答案:

答案 0 :(得分:1)

不确定您要实现的目标,但以下方法将不断循环显示给定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);

答案 1 :(得分:0)

听起来你需要在循环中使用事件而不是轮询。需要更多细节。