フォームの表示について

解決


みけ  2008-04-21 19:34:22  No: 139584

フォームAからフォームB、Cが同時に開くんですが
フォームBをモーダル、フォームCをモーダレスで表示
するという仕様です。
この時、フォームCをフォームAの前面に持ってきたい
のですが、それは可能ですか?

お願いします。


matsu  2008-04-21 20:27:14  No: 139585

>フォームAからフォームB、Cが同時に開くんですが
>フォームBをモーダル、フォームCをモーダレスで表示
>するという仕様です。
>この時、フォームCをフォームAの前面に持ってきたい
>のですが、それは可能ですか?

VB6の場合は、ownerformを指定すれば可能です。
Form2.Show vbModeless, Me


魔界の仮面弁士  2008-04-21 20:28:55  No: 139586

そもそも Modal とは、専用モード。「その画面のみが使用可能な状態」です。
Modeless とは、モード制限なし。「どの画面も自由に操作可能な状態」です。

『フォーム B のみが使用可能である状況』で、それよりも手前に、
『使用不可なフォーム C が表示されている状況』には、違和感を感じます。

モードレス側を「常に手前に表示」状態にしたり、あるいはアプリを分割するなど、
やり方によっては実装できなくも無いですが、操作性は悪化してしまうでしょう。

まずは、そもそも何故そのような表示が必要であるのか、その理由を説明していただけませんか?
それによって、何らかの解決策が提示できるかも(できないかも)知れません。


魔界の仮面弁士  2008-04-21 20:38:56  No: 139587

あぁ。A が最背面、C をモーダルで最前面にして、
B はモードレスでその中間に…という意味でしたか。

であれば、matsuさんの方法でいけますね。
(.NET なら、Show メソッドの第一引数にオーナフォームを指定できます)

# A の手前に C モーダルで表示し、その C と A の手前に
# B を表示したいという意味に受け取ってしまいました…。


みけ  2008-04-22 03:39:52  No: 139588

>matsuさん
>魔界の仮面弁士さん
なんとかなりそうです。
ありがとうございました><


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加