
こんにちわ。
visualstudio2005(vb.net)で開発を行っています。
MDIフォームを使ってシステムを作成しています。
親フォームの中にフォーム1を表示させそのフォーム1からボタンを押すとフォーム2が表示されるという仕様です。
希望としてはフォーム2を起動中はフォーム1は利用不可にしたい(モーダルのような感じで表示させたい)のですが、MDIではShowDialogは無理なようです。
MDIフォームでこういったことを実現するのは無理なのでしょうか?
(VisualStudioの[ツール]-[オプション]の画面を参考に見てもモーダルのフォームはMDIから外れたエリアで表示されている気がします。)
解決策や代替の手段等ありましたらおしえていただけませんでしょうか?
お忙しいところ大変申し訳ありませんがよろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
Form1にモーダル用のFormの変数を WithEventsで宣言しておいて
モーダルフォームのMoveイベントを捕まえて移動範囲を制限するとかでしょうか …
範囲外へ出たとき 瞬間的に表示されてしまうのが抑えられませんが
書き込みありがとうございます。
やはり特殊な処理を行わないと制御は無理みたいですね。
無理して本来の機能に影響が出てもこまるのであきらめることとします。
ありがとうございました。
No.1
- 回答日時:
モーダルフォームとして表示したいフォームの MdiParentを設定したりしていませんか?
MdiParentは Nothingのままにしておいて
Dim frm as new modalForm()
if Windows.Forms.DialogResult.OK = frm.showDialog() then
' OK時の処理
end if
といった具合で 表示可能だと思いますが ・・・
お返事ありがとうございます。
MdiParentを設定しないということはMDIの親フォームから外れるということですよね?
希望としてはMDI親フォームの枠内に表示してモーダルらしきことを行いたいのです。いろいろ調べてみたのですがMODALはMDIでは使えないようですね。OWNER設定もできないみたいですし。
構想そのものが無理なのかもしれませんね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Microsoft Formsの「個人情報や...
-
ユーザーフォームを表示中にシ...
-
EXCEL ユーザーフォームのタイ...
-
ユーザーフォームのコピー?
-
Form_Load と Form_Activate の...
-
クリックイベントなのに、2回ク...
-
EXCEL VBA ユーザーフォームの...
-
VBAでユーザーフォームを再表示...
-
モーダルフォームとモードレス...
-
VB.NETでフォームロード中のエ...
-
テキストボックス入力データの...
-
フォームを表示してからメッセ...
-
ExcelVBAのユーザーフォームの...
-
ユーザーフォームのラベルに時...
-
サブフォームのイベントを取得...
-
フォームのテキストボックスな...
-
'ユーザーフォーム右上隅の[×...
-
ユーザーフォームのテキストボ...
-
VB.NETでフォーム間でのコント...
-
エクセルVBAのフォームを最...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Microsoft Formsの「個人情報や...
-
ユーザーフォームを表示中にシ...
-
クリックイベントなのに、2回ク...
-
ExcelVBAのユーザーフォームの...
-
モーダルフォームとモードレス...
-
Form_Load と Form_Activate の...
-
Hideについて(.NET)
-
VBAでユーザーフォームを再表示...
-
ユーザーフォームのテキストボ...
-
Excelにて、ユーザーフォームで...
-
EXCEL VBA ユーザーフォームの...
-
エクセルVBAのフォームを最...
-
ユーザーフォームのラベルに時...
-
フォームウィンドウを最前面に...
-
テキストボックス入力データの...
-
ユーザーフォーム上に現在日時...
-
ACCESSのフォーム、開くんです...
-
'ユーザーフォーム右上隅の[×...
-
VBA(エクセル)のユーザー...
-
パソコンの画面に合わせてユー...
おすすめ情報