|
分類:[VB.NET/VB2005 以降]
環境 VB2008
こんにちは。質問させて頂きます。
ある処理で、
・処理の結果をモーダル画面で表示しする。 ・ユーザはこの画面で適宜入力作業ができる。 ・この画面のOKボタン押下により、処理結果画面を閉じ、 処理結果を内部データに反映する。
ということを行っています。
ただし、ユーザが処理結果画面を操作する時、 親画面に表示されている内容を確認したい場合があります。 (具体的には、親画面のマルチラインTextBoxに記載の内容を スクロールして確認する、というものです。) でも、処理結果画面がモーダルで開いているため、 親画面のコントロールの操作ができません。
そもそも、処理結果画面をモーダル表示とした理由は、 該当処理完了までは親画面での他の処理を行えないようにするためなので、 当然の結果なのですが、この問題を解決しなくてはならないと思っています。
今回のように、処理完了までは親画面の一部コントロールは操作できるが 他の操作は不可とできるようにするためには、どのようなフォーム設計を 行うべきなのでしょうか?
例えば、処理結果画面のモーダルをやめ(ただし親画面をオーナーとする)、 処理中は親画面内の対象外のコントロール・メニュー等のEnabledをFalseにして、 処理が完了したらこれをTrueに戻してあげればよさそうですが、 適用漏れがあったり、一部コントロールでは勝手にEnabledをTrueに戻しては いけないものもあったりして、保守性も良くないように思います。
|