C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■92584 / 4階層)  rgbによるbackcolorの表示
□投稿者/ 大谷刑部 (39回)-(2019/10/09(Wed) 09:35:05)
No92578 (魔界の仮面弁士 さん) に返信
> 2019/10/08(Tue) 19:43:03 編集(投稿者)
>
> ■No92577 (大谷刑部 さん) に返信
>>なので、sleepとプロパティーの設定だけだと肉眼で確認する前に次の色に変わっているという現象になっていると想像されます。
>
> いいえ。イベント処理中は、そもそもメッセージループが処理されないので、
> 肉眼でも心眼でも変化しません。背景色が実際に変わるのは、
> イベントを抜けた後(のアイドル時)になります。
そんなことはないでしょう、refleshで見た目は変わりましたよ。

> OS にとってのメモリ負荷や CPU 負荷が軽微であったとしても、
> 元のコードだと 256 × 100msec なのですから、Click するだけで
> 25 秒以上も自アプリが待機状態(フリーズ状態)になりますよね…?
人の感覚次第かもしれませんが、質問者さんは色の移り変わりを見たいのでしょ?
であれば25秒はさほど長いとは思いません。
仮に、お客さんに納品するPGとしても、そうそう、数秒でイラつくお客さんばっかりじゃないでしょう。
現実問題、4分以上処理中メッセージも何も出ず、ただひたすら砂時計が処理中モードになるだけというプログラムは実際に存在します。

> そもそも Sleep を実施している間、画面の再描画も行われないため、
> このような待ち合わせ方法には、あまり意味が無いでしょう。
>
> Sleep はスレッドの動作を一時的に止めてしまうため、
> 先のループ処理の間、キーボード入力やフォームの移動はおろか、
> OS の再起動要求も受けられないことになるわけで、
> Windows App の実装方法としては、かなり問題があるかと思います。
問題はおっしゃるような厳密性がこのケースで必要かどうかです。

質問者もタイマーイベントで解決とおっしゃっているので、Sleepの是非についてはこのあたりでよろしいんじゃないでしょうか?


編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[3]: rgbによるbackcolorの表示 /魔界の仮面弁士 返信無し
 
上記関連ツリー

rgbによるbackcolorの表示 / C#初心者 (19/10/08(Tue) 15:04) #92572
Re[1]: rgbによるbackcolorの表示 / 魔界の仮面弁士 (19/10/08(Tue) 15:40) #92573
│├ Re[2]: rgbによるbackcolorの表示 / 大谷刑部 (19/10/08(Tue) 16:35) #92577
││└ Re[3]: rgbによるbackcolorの表示 / 魔界の仮面弁士 (19/10/08(Tue) 17:45) #92578
││  └ rgbによるbackcolorの表示 / 大谷刑部 (19/10/09(Wed) 09:35) #92584 ←Now
│└ Re[2]: rgbによるbackcolorの表示 / C#初心者 (19/10/08(Tue) 16:24) #92575
Re[1]: rgbによるbackcolorの表示 / 大谷刑部 (19/10/08(Tue) 16:04) #92574
  ├ Re[2]: rgbによるbackcolorの表示 / C#初心者 (19/10/08(Tue) 16:25) #92576
  └ Re[2]: rgbによるbackcolorの表示 / まりもん (19/10/09(Wed) 10:00) #92586
    ├ Re[3]: rgbによるbackcolorの表示 / C#初心者 (19/10/09(Wed) 10:46) #92588 解決済み
    └ Re[3]: rgbによるbackcolorの表示 / 魔界の仮面弁士 (19/10/09(Wed) 12:04) #92593 解決済み

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信