フォームAからフォームB、Cが同時に開くんですが
フォームBをモーダル、フォームCをモーダレスで表示
するという仕様です。
この時、フォームCをフォームAの前面に持ってきたい
のですが、それは可能ですか?
お願いします。
>フォームAからフォームB、Cが同時に開くんですが
>フォームBをモーダル、フォームCをモーダレスで表示
>するという仕様です。
>この時、フォームCをフォームAの前面に持ってきたい
>のですが、それは可能ですか?
VB6の場合は、ownerformを指定すれば可能です。
Form2.Show vbModeless, Me
そもそも Modal とは、専用モード。「その画面のみが使用可能な状態」です。
Modeless とは、モード制限なし。「どの画面も自由に操作可能な状態」です。
『フォーム B のみが使用可能である状況』で、それよりも手前に、
『使用不可なフォーム C が表示されている状況』には、違和感を感じます。
モードレス側を「常に手前に表示」状態にしたり、あるいはアプリを分割するなど、
やり方によっては実装できなくも無いですが、操作性は悪化してしまうでしょう。
まずは、そもそも何故そのような表示が必要であるのか、その理由を説明していただけませんか?
それによって、何らかの解決策が提示できるかも(できないかも)知れません。
あぁ。A が最背面、C をモーダルで最前面にして、
B はモードレスでその中間に…という意味でしたか。
であれば、matsuさんの方法でいけますね。
(.NET なら、Show メソッドの第一引数にオーナフォームを指定できます)
# A の手前に C モーダルで表示し、その C と A の手前に
# B を表示したいという意味に受け取ってしまいました…。
>matsuさん
>魔界の仮面弁士さん
なんとかなりそうです。
ありがとうございました><