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

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

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

Re[2]: モーダル表示に代わる方法について


(過去ログ 135 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■79819 / inTopicNo.1)  モーダル表示に代わる方法について
  
□投稿者/ パーティーマン (1回)-(2016/05/18(Wed) 16:23:58)

分類:[VB.NET/VB2005 以降] 

環境 VB2008

こんにちは。質問させて頂きます。

ある処理で、

・処理の結果をモーダル画面で表示しする。
・ユーザはこの画面で適宜入力作業ができる。
・この画面のOKボタン押下により、処理結果画面を閉じ、
 処理結果を内部データに反映する。

ということを行っています。

ただし、ユーザが処理結果画面を操作する時、
親画面に表示されている内容を確認したい場合があります。
(具体的には、親画面のマルチラインTextBoxに記載の内容を
スクロールして確認する、というものです。)
でも、処理結果画面がモーダルで開いているため、
親画面のコントロールの操作ができません。

そもそも、処理結果画面をモーダル表示とした理由は、
該当処理完了までは親画面での他の処理を行えないようにするためなので、
当然の結果なのですが、この問題を解決しなくてはならないと思っています。

今回のように、処理完了までは親画面の一部コントロールは操作できるが
他の操作は不可とできるようにするためには、どのようなフォーム設計を
行うべきなのでしょうか?

例えば、処理結果画面のモーダルをやめ(ただし親画面をオーナーとする)、
処理中は親画面内の対象外のコントロール・メニュー等のEnabledをFalseにして、
処理が完了したらこれをTrueに戻してあげればよさそうですが、
適用漏れがあったり、一部コントロールでは勝手にEnabledをTrueに戻しては
いけないものもあったりして、保守性も良くないように思います。
引用返信 編集キー/
■79820 / inTopicNo.2)  Re[1]: モーダル表示に代わる方法について
□投稿者/ kiku (102回)-(2016/05/18(Wed) 16:42:51)
下記の案を思いつきました。

案1
 モーダル画面に、親画面のマルチラインTextBoxに記載の内容を表示する。

案2
 親画面からモードレス画面を表示後に、モーダル画面を表示する。
 モードレス画面には、親画面のマルチラインTextBoxに記載の内容を表示する。
引用返信 編集キー/
■79821 / inTopicNo.3)  Re[1]: モーダル表示に代わる方法について
□投稿者/ shu (867回)-(2016/05/18(Wed) 16:49:08)
No79819 (パーティーマン さん) に返信

現在の実装状況にもよると思いますが、親画面の制御をするのが
大変であれば結果画面からさらに子画面表示して親画面の内容を表示
するようなFormを用意してみてはどうでしょう?
引用返信 編集キー/
■79823 / inTopicNo.4)  Re[2]: モーダル表示に代わる方法について
□投稿者/ パーティーマン (2回)-(2016/05/18(Wed) 17:00:45)
kiku さん、shu さん、ありがとうございました。
そうか、処理結果画面はモーダル画面のままとし、
ここで確認したい内容を参照できればいいわけですね。

アドバイスを元に、対応してみます。
ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -