モードレスダイアログがメインフォームの後ろに隠れないようにするには
モードレスダイアログがメインフォームの後ろに隠れないようにするには、そのダイアログをメインフォームが所有するようにします。 //表示させるフォームのインスタンスを作成 Form1 f = new Form1(); //Form1を所有する this.AddOwnedForm(f); //または次のようにする //f.Owner = this; //Form1をモードレスで表示する f.Show();
なお、フォームの所有について「Form.AddOwnedForm メソッド」には、次のように書かれています。 「フォームが別のフォームによって所有されている場合は、所有している側のフォームと連動して最小化したり閉じたりします。たとえば、Form2 がフォーム Form1 に所有されている場合、 Form1 が閉じられるか最小化されると、 Form2 も閉じられるか最小化されます。また、所有される側のフォームを所有する側のフォームの背面に表示することはできません。所有されているフォームは、検索ウィンドウや置換ウィンドウなど、所有側のフォームが選択されているときにその背面に表示できないようにするウィンドウに使用できます。」