フォームを特定のフォームより手前に表示する
スポンサーリンク
あるフォームより手前に表示するには ShowDialog メソッドでモーダル表示するという方法があります。ただし、これではモーダル表示されていないフォームに制御を移すことができません。かといって、モードレス表示すると、他のフォームがアクティブになった際にフォームが隠れてしまいます。
これらは、オーナーとなるフォームを指定することで解決します。オーナーとなるフォームから AddOwnedForm メソッドで所有される側のフォームを加えるか、または所有される側のフォームの Owner プロパティからオーナーとなるフォームを設定します。
サンプルコード
以下にサンプルコードを示します。
C# 全般
// Form1 の新しいインスタンスを生成する Form1 cForm1 = new Form1(); // cForm1 を所有する this.AddOwnedForm(cForm1); // 所有される側からオーナーを指定することも可能 //cForm1.Owner = this; // cForm1 を表示する cForm1.Show();
オーナーによる所有を解除する場合は、RemoveOwnedForm メソッドを使用して、解除したいフォームを指定するか、解除したいフォーム側の Owner プロパティを null (VB は Nothing) を設定します。
C# 全般
// cForm1 を所有を解除する this.RemoveOwnedForm(cForm1); // 所有される側からオーナーに null を指定しても解除される //cForm1.Owner = null;
関連するリファレンス
準備中です。