Проходить по списку в VB.net или C # и устанавливать значения для текста метки? - PullRequest
2 голосов
/ 17 июня 2009

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

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

Ответы [ 2 ]

1 голос
/ 17 июня 2009

Не уверен, что вы пытаетесь достичь, но следующий метод будет непрерывно циклически проходить по элементам данного 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);
0 голосов
/ 17 июня 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...