• ベストアンサー
※ 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の後ろに表示されるようにできるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.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; } といった具合になるかと ・・・

wararyo
質問者

お礼

思い通りにできました。ありがとうございました。 こんな簡単にできるとは…。

その他の回答 (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の影に隠れてしまうと思います

関連するQ&A