У меня есть элементы в элементе управления списком, которые я хотел бы повторно (когда он добирается до последнего, повторить), и установите текст в метку.
Я застрял, пожалуйста, помогите!
Не уверен, чего вы пытаетесь достичь, но следующий метод будет непрерывно циклически перемещаться по элементам данного ListBox, отображая значения в данном элементе управления Label, возвращаясь с самого начала, когда он достигнет конца, обновляя дважды второй (код С#):
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);
Похоже, вам нужно использовать eventing вместо опроса в цикле. Требуется более подробная информация.