子フォームのプロパティをリセットするには?

解決


あきたいぬ  2007-06-21 21:00:50  No: 143677

親フォームにて表示倍率(解像度)を指定し、子フォームを表示する。
子フォームは子フォーム内のコントロールの配置、サイズなどを指定された
倍率でリサイズしてから表示する。
。。。というような画面確認を行っています。

ただ1度きりであれば問題なく動作しているように見えるのですが、
子フォームを閉じ、再度表示させると1回目に開いたサイズのさらに倍の
サイズで表示されてしまいます。

子フォームを閉じる前にフォームのプロパティをリセットする方法は
あるのでしょうか?
設定前の値を内部に保持しておかなければ無理なのでしょうか?

どなたかご教授よろしくお願いします。


特攻隊長まるるう  2007-06-22 03:21:54  No: 143678

毎回、子フォームのインスタンス(実体)を新しく生成(New)すれば、
すべてのプロパティ値は初期値となります。

しかし、フォーム上のすべてのコントロールを一から作成するため、
コントロールがたくさん乗っているフォームでは、表示までに時間が
掛かるようになってしまいます。

>子フォームを閉じ、再度表示させると1回目に開いたサイズのさらに倍の
>サイズで表示されてしまいます。
これはつまり、1度つくられたインスタンスを使いまわすという
設計にしたためだと思います。それが、重い画面をスムーズに表示
させるという意図からなら、設定前の値を内部に保持することを
考えたほうが良さそうです。


あきたいぬ  2007-06-22 18:42:59  No: 143679

特攻隊長まるるうさん、回答ありがとうございます。

子フォームを表示する前にNewすることで対応できました。
表示までの時間は確かに。。。かかりますね。
でも、内部に保持するにはコントロールの数が多かったりすると
大変な数になりそうなので、この方法で進めて行きたいと思います。

どうもありがとうございました。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加