C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: モーダル、モードレスの制御


(過去ログ 40 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■20901 / inTopicNo.1)  モーダル、モードレスの制御
  
□投稿者/ KEN (1回)-(2008/06/19(Thu) 13:47:52)

分類:[C/C++] 

2008/06/19(Thu) 13:51:09 編集(投稿者)

こんにちは。
いきなりですが、C#でのモーダル、モードレスの制御について困っています。

■やりたいこと
FormA,FormB,FormCがあります。
@FormAからFormBをモードレスで開く
AFormAからFormCをモーダルで開く

上記条件の時に、FormAはもちろん触れなくて良いのですが、FormCだけでなくFormBも触れるようにしたいです。
※FormB,FormCはFormAからの起動しかできないのが前提条件です。

よろしくお願い致します。
引用返信 編集キー/
■20903 / inTopicNo.2)  Re[1]: モーダル、モードレスの制御
□投稿者/ ネタ好き (463回)-(2008/06/19(Thu) 13:53:01)
No20901 (KEN さん) に返信
モードレスなので同時に2つのフォームを触るのは無理があるかと思います。
もしそれでもやるのならば、BとCをダイアログボックスで実装し、BとCからAへイベントが流れるようにして、AはBかCを開く瞬間に任意の数のコントロールのEnabledプロパティをFalseに設定すればいいと思います。
引用返信 編集キー/
■20905 / inTopicNo.3)  Re[2]: モーダル、モードレスの制御
□投稿者/ KEN (3回)-(2008/06/19(Thu) 14:03:45)
2008/06/19(Thu) 14:06:15 編集(投稿者)


少し説明不足でした。

@ AからCをモーダルで開く
A CからBをモードレスで開く

上記の場合はB,Cどちらとも操作できます。
当たり前のように思いますが、おもしろい結果です。

投稿時の条件と同じフォームが開いているのに、結果が変わる。
ということは、どこかにフォームの管理をしているところがあるはずなんですが
それがみつからない。。。
できると思ってたんですが、やはり無理なんでしょうかね。。。
引用返信 編集キー/
■20915 / inTopicNo.4)  Re[3]: モーダル、モードレスの制御
□投稿者/ ネタ好き (467回)-(2008/06/19(Thu) 15:38:55)
No20905 (KEN さん) に返信
> 投稿時の条件と同じフォームが開いているのに、結果が変わる。
> ということは、どこかにフォームの管理をしているところがあるはずなんですが
> それがみつからない。。。

Ownerプロパティだと思います。
同時に二つのウインドウのオーナーになれないのは、どちらの画面が先に表示されるか決定できないからでは無いでしょうか?
引用返信 編集キー/
■20916 / inTopicNo.5)  Re[3]: モーダル、モードレスの制御
□投稿者/ やじゅ (459回)-(2008/06/19(Thu) 15:45:46)
2008/06/19(Thu) 15:47:15 編集(投稿者)

No20905 (KEN さん) に返信

両方ともモードレスで作成して
モードレスをモダールのように扱えばいいのでは

子フォームのOwnerプロパティに親コントロールをセット
親コントロール側のActivatedイベントにて子フォームを
Activate化する。
子フォーム画面が起動しているかのフラグが必要かな
引用返信 編集キー/
■20918 / inTopicNo.6)  Re[1]: モーダル、モードレスの制御
□投稿者/ yemm (1回)-(2008/06/19(Thu) 16:04:21)
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=45281&forum=7
情報共有のためリンクさせておきます。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -