2009-07-27 12 views
2

私たちのアプリでは、非モーダルで開くことができるフォームがあります。我々はモーダルで開くことができる別のフォームを持っています。C#モーダルフォームの前に非モーダルフォームを表示しますか?

モーダルフォームからボタンをクリックすると、非モーダルフォームが開きます。これは正常に動作し、モーダルとノン・モーダル・フォームの両方を混乱させることができます。

ただし、非モーダルフォームがモーダルフォームの前に開いていた場合、モーダルフォームが閉じられるまで非モーダルフォームにアクセスすることはできません。

ノンモーダルフォームを閉じて再オープンするのに足りないことはありますか?ノンモーダルフォームをモーダルフォームから前面に持っていくことができますか?

おかげ

+2

両方のウィンドウを同時に開く必要がある場合は、モーダルウィンドウは悪い選択です。 – Scoregraphic

+0

短い答えはいいえ - あなたが言っているのは、「Aを強制するシステムを持っているなら、私はこのシステムを使用することはできますが、それを得ることはできません」。 – ShuggyCoUk

答えて

2

あなたの記述は、予期される動作です。

「A」は、非モーダルおよび「B」である場合には、次にモーダルである:次いで

オープニング「B」「」最後に開いた形態は、非モーダルであるように両方の形式にアクセスできることを意味します。

「A」と「B」を開くと、最後に開いたフォームがモーダルであるため、「B」だけにアクセスできることを意味します。

したがって、開いた順序に関係なく両方のフォームにアクセスできるようにするには、両方のフォームを非モーダルにする必要があります。

1

私はあなたの問題はモーダル概念の誤用から来ていると思います。最も良いことは、デザイン全体を再考することです。モーダルフォームは、ユーザーとダイアログを実行し、通常は他のモーダルフォームのみを開きます。そしてそれは疑わしい選択です。

Modalフォームが登場したときに、非モーダルフォームの再親子化を試みることができます。

+0

私は設計上の欠陥を認識しています。私はこれを動作させる必要があります。 フォームを改正しても、フォームが機能しません。モーダルフォーム内に非モーダルフォームを埋め込むだけです。クールな効果ですが、必要なものはありません。 –

関連する問題