私は片面にツリービューを持つフォームを持っています。どのノードが選択されているかによって、右に別のコンテンツを表示する必要があります。コードとコントロールを管理しやすくするために、私の計画は、コンテンツを別々のフォームに分離し、フォームをパネル内に表示することでした。私のツリービューAfterSelectイベントで 親パネルのフォーム
は、私は、フォームをインスタンス化し、それがパネルに親の設定が、私は例外を取得しようとした「トップレベルのコントロールが、コントロールに追加することはできません。」:Form frmShow = new MyForm();
frmShow.Parent = this.pnlHost;
これをMDI構成ではありませんが、フォームのMdiParentプロパティを親フォームに設定し、フォームのParentプロパティをパネルに設定しようとしましたが、例外が発生します "このフォームのMdiParentに指定されたフォームはMdiContainerパラメータ名:値 ":
Form frmShow = new MyForm();
frmShow.MdiParent = this;
frmShow.Parent = this.pnlConfigure;
フォームは最上位フォームではないため、MDIコンテナとして設定することはできません。実際には(WeifenLuoドッキングライブラリを使用して)親フォーム内にドッキングされたフォームです。
非MDIフレームワークのパネルでフォームを親にする方法はありますか?
代わりにUserControlsを使用するように変更されました。 – Jeremy
問題は解決しましたか? –
@Henk - はい。ユーザーコントロールが正しい方法でした。フォームは誤ったアプローチでした。私はそれを最初から見ていたはずです。 – Jeremy