- PR -

OwnerFormの背面に子Formを遷移させるには?

1
投稿者投稿内容
あかつき
会議室デビュー日: 2007/06/14
投稿数: 2
投稿日時: 2007-06-14 13:21
初めて書き込みさせていただきます。

現在、Vb.Net2003 .NETFramework1.1 でアプリケーションを作成しているのですが、
その中でForm1から【ボタン1】を押したタイミングで

Dim Frm1 as New Form1
Frm1.Owner = Me
Frm1.Show()

上記のように同じ画面を再度展開しています。
これは複数展開する事が可能で、呼び出し先画面においても
処理を行う上でOwnerが存在するかどうかの判定を行っています。

この状態の時に、OwnerとなっているForm1を再度操作しようとした場合
子Formが前面に出てしまっており、操作し辛くなってしまいます。
そこで、Ownerを維持したまま、子Formを背面に遷移可にしたいのですが

Frm1.TopMost = False
Frm1.SetTopLevel(False)

等を行ってもOwnerとなっているFormの背面に遷移させる事が出来ません。
Ownerを維持したまま、子Formを背面に遷移させる事は不可能なのでしょうか?

乱文かつ抽象的な内容で申し訳ございませんが
解決方法をご存知の方がいましたら、ご教授宜しくお願い致します。

[ メッセージ編集済み 編集者: あかつき 編集日時 2007-06-14 13:22 ]
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-06-14 13:51
申し訳ありませんが、回答ではありません。

引用:

あかつきさんの書き込み (2007-06-14 13:21) より:

この状態の時に、OwnerとなっているForm1を再度操作しようとした場合
子Formが前面に出てしまっており、操作し辛くなってしまいます。


でしたら Owner にしている理由は何があるというのでしょう? やっていることと希望している動作が矛盾していないでしょうか?

または、

引用:

そこで、Ownerを維持したまま、子Formを背面に遷移可にしたいのですが


Owner の概念について何か誤解がないでしょうか?

何のために Owner を指定しているのかと、Owner についての理解について確認して頂きたいと思います。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
あかつき
会議室デビュー日: 2007/06/14
投稿数: 2
投稿日時: 2007-06-14 15:17
引用:

じゃんぬねっとさんの書き込み (2007-06-14 13:51) より:

Owner にしている理由は何があるというのでしょう? やっていることと希望している動作が矛盾していないでしょうか?



との事ですが、呼び出し元で別のボタン押下時に、
「現在展開している画面のうち、呼び出し元画面以外を全て閉じる」
という処理を行っているのですが
その際、呼び出し元で「OwnedForms」を用いて
現在所有している子画面を取得していました。

 また、呼び出し先でも、特定条件下で
「呼び出し先を閉じると、合わせて呼び出し元も閉じる」
という処理を行っているので、
Ownerを用いると処理が実装し易かった(Me.Owner.Close())為です。


引用:

Owner の概念について何か誤解がないでしょうか?

何のために Owner を指定しているのかと、Owner についての理解について確認して頂きたいと思います。



Ownerについて、MSDNに

「所有される側のフォームを所有する側のフォームの背面に表示することはできません。」

との記載がありました。。。
勉強不足です。申し訳ございません。
もう少し別の方法を模索してみます。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)