|
分類:[C#]
プリ太です。 度々お世話になります。
関数中で、フォームAから別のフォームBを呼び出しています。 AがBを呼び出すときに、フォームBを宣言して、Bに宣言しているpublicな変数に値を設定し、その後、ShowDialogで呼び出しています。 BでOKボタンを押されると、Bはpublicで宣言している変数に値を格納し、自分自身をHideにします。 その後、AではBのpublic変数から値を読み込みAの変数に設定を行っています。 値の読み込みを行ったあと、BをDisposeしています。
コンパイルは問題なく、動作も問題はないのですが、Bが消える際にどうしても画面のちらつきが発生してしまうので、 ためしにBでOKボタンを押された際にHideではなくCloseにしてみたところ、値の読み込みもでき、ちらつきも発生しませんでした。
私個人は、Hideだと変数等の領域はDisposeまで残っているので、値が壊れる心配はない、 Closeは画面を閉じるので、変数等の領域は保障されない、的なイメージを持っていたのですが、 Closeでも関数中はBの領域は残っているものなのでしょうか? CloseだとDispose忘れもないので、楽なことは楽だと思うのですが・・・
環境はVS2005です。 宜しくお願いします。
|