0

ボタン付きの親フォームがあり、ボタンのクリック イベントで新しいフォームを開きたい。

Form2 form2= new Form2();
form2.Show();

ただし、form2 は別のプロセスとして開かれます。親フォーム内でフォームを開きたい。

グーグルで検索しているうちに、MDI が非推奨になっていることがわかりました。では、良い方法を教えていただけないでしょうか。

4

2 に答える 2

3

グーグルで調べていると、MDIが非推奨になっていることがわかりました

これは、マーク・トウェインの有名な言葉に似ています。「私の死に関する報道は非常に誇張されています」。MDI は Windows に組み込まれており、多くの古いプログラムが MDI に依存しています。それは25年以上にわたって存在しており、すぐになくなることはありません.

プログラマーは、機能が気に入らない場合、非推奨のものを勝手に発表するのが好きです。確かに、MDI に夢中になっている人は誰もいません。WPF が実装しなかったからといって非推奨になるわけではなく、シェル通知アイコンも非推奨になり、それらは確かに健在です。MDI は、ユーザーが 25 年前に使用していた種類のモニターに対処するために考案されたウィンドウ モデルです。また、640 x 480 のディスプレイでは、ウィンドウ用のスペースがあまりありません。重なり合うウィンドウを管理しやすくする方法を見つけることが、その主な目標でした。

今日の巨大なモニターでそれを使用することはあまり意味がありません. ドッキング レイアウトは、はるかに賢明です。Visual Studio が良い例です。自分で作成したくない場合は、それをサポートするライブラリを購入する必要があります。Weifenluo の DockPanelSuite は非常に人気があり、適正価格です。

于 2013-08-25T14:02:56.107 に答える
2
Form f = new Form();
f.TopLevel = false;
f.Visible = true;
Controls.Add(f);

ここに画像の説明を入力

于 2013-08-25T14:01:02.797 に答える