| ■96953 / ) |
Re[1]: ProgressBarの表示をその時のみ最前面へ移動 |
□投稿者/ 魔界の仮面弁士 (2993回)-(2021/03/06(Sat) 11:24:55)
|
2021/03/06(Sat) 11:30:20 編集(投稿者)
■No96952 (ゆい さん) に返信 > その時のみProgressBarの表示をChartなどの最前面へ移動をし、完了がすれば最背面へ移動もしくは表示を消したいです。
ZOrder の入替なら ProgressBar1.BringToFront() ProgressBar1.SendToBack() です。
表示/非表示の切替なら ProgressBar1.Show() ProgressBar1.Hide() もしくは ProgressBar1.Visible = booleanValue です。
> Label1.Text = "0" & "/" & 10 Label1.Text = "0/10" で良いのでは?
> Dim i As Integer > For i = 1 To 10 この書き方は、VB.NET 2002 時代のものですね。現在は推奨されていません。
2003 以降なら For i As Integer = 1 To 10 のようにして、変数 i のスコープを For 内に制限することが望ましいです。
また、2008 以降ではローカル型の推論が使えるようになったので、上記を For i = 1 To 10 と省略表記することができます。2002 と違って Dim 宣言 も不要です。 この場合も 2003/2005 同様、変数 i As Integer が For 内での利用に限定されるようになります。
> '1秒間待機する(時間のかかる処理があるものとする) > System.Threading.Thread.Sleep(1000) メッセージ ポンプや COM の動作に影響を与えてしまう事があるため、 UI スレッドから Sleep を呼び出すことは避けるべきです。
また、時間のかかる処理がある場合は、それを別スレッドで処理することが望ましいです。 VB2012 以降であれば Asnyc / Await 、VB2005〜2010 では BackgroundWorker の利用を検討してみてください。
|
|