- PR -

フォームの再描画について

1
投稿者投稿内容
じょんのび
常連さん
会議室デビュー日: 2004/05/06
投稿数: 20
投稿日時: 2006-05-31 23:31
いつもお世話になっております。
VS2005、C#、WindowsForm で開発しています。

親フォームから子フォームをモーダル表示し、その子フォームを Hide した場合、
親フォームの再描画が明らかに遅く、かなり見苦しく感じます。

次の条件を満たしている場合に再現する様です。
・子フォームがモーダル表示されている
・子フォームが Hide された場合(Close 時は問題ない)
・親フォームの裏側に別アプリ(例えばIEやエクスプローラ)のウィンドウが存在する

親フォーム上のコントロール数が少ないと、それ程気にならないかも知れませんが、
それでも、Close に比べると少しちらつきます。
コントロール数がある程度の数になると、明らかに気になります。

Close 時は全く目立たない為、Hide 時も何とかならないものかと考えてしまいます。
皆さん気になった事はないでしょうか?
何か対処法などがありましたら、お教え頂けないでしょうか?
(単純に考えると Close よりも Hide の方が、.NET側の負担は軽く思えるのですが・・・・)
じょんのび
常連さん
会議室デビュー日: 2004/05/06
投稿数: 20
投稿日時: 2006-06-01 00:24
自己レスです。

再描画の問題自体は解決できなかったのですが、
Hide する必要性が無くなった為、今のところ問題なくなりました。

# .NET の Close = VB6 の Unload と同じものだと思って、Hide させてました。

今回の件が問題になりそうなケースは余り無さそうですね。
早とちりで失礼しました。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-06-03 09:47
モーダル表示だから、でしょうね。
モードレス表示なら、問題ないと思います。

モーダルとモードレスがどのように違うか、きちんと押さえましょう。
1

スキルアップ/キャリアアップ(JOB@IT)