ボタン付きの親フォームがあり、ボタンのクリック イベントで新しいフォームを開きたい。
Form2 form2= new Form2();
form2.Show();
ただし、form2 は別のプロセスとして開かれます。親フォーム内でフォームを開きたい。
グーグルで検索しているうちに、MDI が非推奨になっていることがわかりました。では、良い方法を教えていただけないでしょうか。
グーグルで調べていると、MDIが非推奨になっていることがわかりました
これは、マーク・トウェインの有名な言葉に似ています。「私の死に関する報道は非常に誇張されています」。MDI は Windows に組み込まれており、多くの古いプログラムが MDI に依存しています。それは25年以上にわたって存在しており、すぐになくなることはありません.
プログラマーは、機能が気に入らない場合、非推奨のものを勝手に発表するのが好きです。確かに、MDI に夢中になっている人は誰もいません。WPF が実装しなかったからといって非推奨になるわけではなく、シェル通知アイコンも非推奨になり、それらは確かに健在です。MDI は、ユーザーが 25 年前に使用していた種類のモニターに対処するために考案されたウィンドウ モデルです。また、640 x 480 のディスプレイでは、ウィンドウ用のスペースがあまりありません。重なり合うウィンドウを管理しやすくする方法を見つけることが、その主な目標でした。
今日の巨大なモニターでそれを使用することはあまり意味がありません. ドッキング レイアウトは、はるかに賢明です。Visual Studio が良い例です。自分で作成したくない場合は、それをサポートするライブラリを購入する必要があります。Weifenluo の DockPanelSuite は非常に人気があり、適正価格です。
Form f = new Form();
f.TopLevel = false;
f.Visible = true;
Controls.Add(f);