我有一个列表框控件中的项目,我想重复(当它到达最后一个,重复时)循环并将文本设置为标签。
我被困住了,请帮忙!
答案 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)
听起来你需要在循环中使用事件而不是轮询。需要更多细节。