- PR -

モーダル子画面を表示中の、別子画面を操作

1
投稿者投稿内容
モモ
会議室デビュー日: 2006/01/16
投稿数: 7
投稿日時: 2006-01-16 17:39
いつも参考にさせていただいています。

WindowsFormで開発しています。

親画面からA画面をモードレスで立ち上げます。
その後、A画面を閉じずに親画面から別のB画面をモーダルで立ち上げます。
B画面が上がっていると、A画面を操作することができません。(B画面がモーダルだからなのですが…)

上記の状態でA画面とB画面両方操作できるようにしたい(親画面は操作できないまま)のですが、どのようにすればよいですか?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-01-16 17:59
引用:

ブコさんの書き込み (2006-01-16 17:39) より:

(B画面がモーダルだからなのですが…)


モーダルというものはそういうものです。(そうでないと困りますが...)

引用:

上記の状態でA画面とB画面両方操作できるようにしたい(親画面は操作できないまま)のですが、どのようにすればよいですか?


モーダルをやめるしかないのですが、最終的にどういう形であれば良いのかにも因ります。
親は操作できないようにして、A と B を両方操作したいのであれば、
A をモーダルにして、B のオーナーに A を設定するとか、
または、A と B を開いた際に親を無効化するなど、ですね。

B をモーダルで開きたい理由が制御を移したくないという理由なのか、
単に前面に表示したいからなのかで、また少し変わります。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
モモ
会議室デビュー日: 2006/01/16
投稿数: 7
投稿日時: 2006-01-16 20:46
引用:
--------------------------------------------------------------------------------
モーダルというものはそういうものです。(そうでないと困りますが...)
--------------------------------------------------------------------------------

やはり そうですか…

結局、B画面を立ち上げる時にA画面が上がっていたら、A画面を閉じるという
仕様でOKをいただきました。

どうもありがとうございました。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-01-16 21:16
引用:

ブコさんの書き込み (2006-01-16 20:46) より:

やはり そうですか…


で、先にも書きましたが、ただ単にあるフォームの前面に表示したい、
制御を移したくない程度の理由であれば、泥臭いですが先ほどの方法が使えます。
オーナーを摩り替える方法なんていうのもどこかの BBS で書いたことがありましたね。

今回、仕様変更をしたのは大正解です。
Windows の標準でない動きになるということは、ユーザビリティが低下することを意味しますからね。(^^)

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
1

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