2009-06-16 4 views
2

私はリストボックスコントロールの中で繰り返したい(最後のものになったら、繰り返す)ループスルーし、テキストをラベルに設定します。VB.netまたはC#でリストボックスをループし、テキストにラベルを設定する?

私は立ち往生しています。助けてください!

+0

あなたはこれを繰り返しする頻度を教えてください。永遠に?なぜ? –

+0

私はそれが永遠に繰り返すことを望みます。マーキーニュースのバナーのように考える - 最新の見出しを繰り返して繰り返し、見出しをラベルにしたい。見出しはリストボックスのコントロールになります。 ありがとう! –

答えて

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); 
+0

Fredrik、tacksåmycket! :)完璧に働いた! –

+0

あなたは大歓迎ですorsak:o) –

関連する問題