C#.NETでのフォームのモダリティに問題があります。メインフォーム#0があるとしましょう(下の画像を参照)。このフォームは、ユーザーがさまざまな操作を実行できるメインのアプリケーションフォームを表します。ただし、タスクをサポートする追加のメインアプリケーション機能を実行するために、追加の非モーダルフォームを開く必要がある場合があります。これが画像のフォーム#1であるとしましょう。この#1フォームでは、いくつかの追加のモーダルフォームが互いに重なり合って開かれる可能性があり(画像の#2フォーム)、最後に、長い操作の進行状況とステータスを示す進行状況ダイアログが表示されます。数分から数時間。問題は、すべてのモーダルフォーム(画像の#2)を閉じるまで、メインフォーム#0が応答しないことです。この状況では、メインフォーム#0が機能する必要があります。でも、フォーム#2で非モーダルフォームを開くと、モーダル#2フォームと新しく作成された非モーダルフォームの両方で操作できます。メインフォーム#0とフォーム#1とそのすべての子フォームの間で同じ動作が必要です。出来ますか?それとも私は何か間違ったことをしていますか?何らかの回避策があるかもしれませんが、ShowDialogのすべての呼び出しをShowに変更したくありません...
画像http://img225.imageshack.us/img225/1075/modalnonmodalproblem.png