- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【C#】Form1からForm2を表示したとき、Form2がForm1)
C#でForm1からForm2を表示する際の制御方法
このQ&Aのポイント
- Form1からForm2を表示(Form2.Instance.Show();)したとき、Form2がForm1の上にこないように、また、Form2は必ずForm1のすぐ後ろであるようにする方法を知りたいです。
- IEで検索ウィンドウを開いたときに、検索ウィンドウを表示していてもIEは操作できるけど(モードレス)、IEの後ろに検索ウィンドウが行くことはありません。このような制御をC#で実現する方法を教えてください。
- Form1.Activateなどを使って無理やり制御しようとしましたが、うまくいきませんでした。どのようにすればForm2が常にForm1の後ろに表示されるようにできるのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
すみません C#でしたね ^^ Form1側に Form2型の変数を用意します Form2 objForm2; 表示する際に if ( objForm2 == null || objForm2.IsDisposed ) objForm2 = new Form2(); this.Owner = objForm2; objForm2.Show(); Form2側のFormClosingイベントで if ( this.OwnedForms.Length != null ) { this.OwnedForms[0].Owner = null; } といった具合になるかと ・・・
その他の回答 (1)
- redfox63
- ベストアンサー率71% (1325/1856)
回答No.1
Form2の表示前に me.Owner = From2.Instance を実行すればご希望の動作になりそうです Form2側の FormClosingイベントで if Form1.Owner IsNot Nothing then Form1.Owner = nothing End if を実行しないと Form2を閉じると Form1まで閉じてしまうと思います Form1からForm2を開く際には Locationを適切に設定しないとForm1の影に隠れてしまうと思います
お礼
思い通りにできました。ありがとうございました。 こんな簡単にできるとは…。