2011-08-10 16 views
0

私が書いているコードでは、タイマーに基づいてフォームのラベルのテキストを変更しようとしています。私は自分自身のサブシステムですべて更新している他のラベルもたくさん持っています。新しいラベルを追加しようとすると(サブの中で)それを更新することはありません。VBラベルテキストの問題

私はLabel.Text =カウンタが変更された文字列であるカウンタ

を使用しています。私はフォームをリフレッシュしようとしました、Label.refresh()Label1.Update()....私はそれができると思う唯一の事は、再描画は、CPU上の他の計算によって保持されているということです。

ラベルのテキストを正しく変更して更新するにはどうすればよいですか?

+1

何人ですか?あなたはVBやVB.NETを使っていますか? –

+0

少なくとも15個のラベルが正しく更新されています。VB.net – kenetik

答えて

1

"DoEvents"をループに入れてみてください。 VB.Netでは、それはApplication.DoEvents()です。 VB6では、それはちょうどDoEventsです。

DoEventsの悪いフォームを考慮し、このような状況を処理するバックグラウンドスレッドを推奨する人がいます。このように処理するには、ループをBackgroundWorker(vb.net)に入れ、ラベルを更新できるようにする必要があります。

+0

DoEventsは問題ありません。アプリケーションのマルチスレッディングによって多くの頭痛を引き起こす場合は、マイクロソフトでもお勧めします。 – MGZero

+0

ok私はこれを試します、イベントは正確に何をしますか? – kenetik

+0

は、現在メッセージキューで待機しているすべてのメッセージを処理します。 –

関連する問題