- - PR -
実行中のLabel
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-07-20 12:11
いつも拝見させていただいています。
現在VS2003 VB.netにてWindowsアプリケーションの開発を行っていますが、 メインのFormから新しいFormを開いた時に 新しいFormのLabelの内容が消えてしまい(透明になる)困っています。 新しいFormはプログレスバーにて処理状況を表示させています。 何かご存知の方がいましたら、教えていただけないでしょうか? |
|
投稿日時: 2007-07-20 12:36
どんな感じのプログラムを書いているのでしょうか?
(たぶん DoEvent とか使えば解決できそうな気がしますが) |
|
投稿日時: 2007-07-20 12:41
オノデラ様、返信ありがとうございます。
プログラムとしては、単純に Formのインスタンスを作成してshowメソッドで表示させているだけです。 |
|
投稿日時: 2007-07-20 13:15
たぶん、
・処理開始 ・進捗用の新しいフォームを表示 ・ループ処理 ・進捗(プログレスバー)およびラベル更新 ということではないですか? でしたら、その処理(End Sub)を抜けないと溜まっているメッセージは処理されません。 つまり、ラベルの値を書き換えて描画要求メッセージを投げてもその場で処理されず、おっしゃる現象になります。 オノデラさんの言われるApplication.DoEventsで溜まっているメッセージをその場で処理させるか、 #ただし、溜まっているすべてのメッセージが対象ですのでその副作用は考慮しなければなりません。 Form.RefreshまたはLabel.Refresh等でその場で強制描画させてください。 |
|
投稿日時: 2007-07-20 13:24
ご参考になりそうなリンクを
過去スレッド 件名:プログレスバーが再描画されない http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=38640&forum=7&4 にもはりましたが、ここにもはっておきます。 参考リンク: Application.DoEvents メソッド http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.application.doevents(VS.80).aspx @IT > Insider.NET > .NET TIPS > 時間がかかる処理での「応答なし」を回避するには? http://www.atmarkit.co.jp/fdotnet/dotnettips/136doevents/doevents.html DOBON.NET > プログラミング道 > .NET Tips > その他のTips > 時間のかかる処理の進行状況を表示する http://dobon.net/vb/dotnet/programing/displayprogress.html |
|
投稿日時: 2007-07-20 13:29
まどか様、IIJIMAS様、返信ありがとうございます。
Refreshメソッドを使用することで、表示されました。 皆様、ありがとうございました。 |
1