Проходить по списку в VB.net или C # и устанавливать значения для текста метки?

2

У меня есть элементы в элементе управления списком, которые я хотел бы повторно (когда он добирается до последнего, повторить), и установите текст в метку.

Я застрял, пожалуйста, помогите!

  • 0
    Не могли бы вы сказать нам, как часто вы хотите, чтобы это повторилось? Навсегда? И почему?
  • 0
    Я бы хотел, чтобы это повторялось вечно. Думайте об этом как о главном новостном баннере - я хочу многократно повторять последние заголовки и устанавливать заголовки на ярлыки. Заголовки будут в списке управления. Спасибо!
Теги:
loops
listbox

2 ответа

1

Не уверен, чего вы пытаетесь достичь, но следующий метод будет непрерывно циклически перемещаться по элементам данного 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);
  • 0
    Фредрик, большое спасибо! :) Работал без нареканий!
  • 0
    Добро пожаловать / ingen orsak: о)
0

Похоже, вам нужно использовать eventing вместо опроса в цикле. Требуется более подробная информация.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню